场景生成器中的自定义控件 ClassNotFoundException

2024-02-14

我通过扩展现有控件创建了一个新控件,并且我想在我的 JavaFX 场景中使用这个新控件。我希望能够使用场景生成器编辑场景,但是将新控件添加到 FXML 文件后,我遇到了ClassNotFoundException打开场景生成器时。

例如,这是我制作的一个类,它扩展了TextField:

RegexLimitingTextField.java

public class RegexLimitingTextField extends TextField {

    private String regexLimiter = ".*";

    public void setRegexLimiter(String regex) {
        this.regexLimiter = regex;
    }

    @Override
    public void replaceText(int start, int end, String text) {
        if (text.matches(regexLimiter))
            super.replaceText(start, end, text);
    }

    @Override
    public void replaceSelection(String replacement) {
        if (replacement.matches(regexLimiter))
            super.replaceSelection(replacement);
    }
}

将此控件添加到我的 FXML 文件后...

sample.fxml

<?import javafx.scene.layout.GridPane?>
<?import sample.RegexLimitingTextField?>
<GridPane fx:controller="sample.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
    <RegexLimitingTextField fx:id="textField" text="Test" />
</GridPane>

...加载 Scene Builder 2.0 时出现此错误:

Caused by: java.lang.ClassNotFoundException: sample.RegexLimitingTextField
    at java.lang.ClassLoader.findClass(ClassLoader.java:530)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at javafx.fxml.FXMLLoader.loadTypeForPackage(FXMLLoader.java:2920)
    at javafx.fxml.FXMLLoader.loadType(FXMLLoader.java:2909)
    at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2850)
    ... 23 more

为什么场景生成器找不到我的新控件?我需要做什么才能让它找到并能够使用我的新控件?

如果需要的话,以下是其他文件:

Main.java

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setScene(new Scene(root, 200, 200));
        primaryStage.show();
    }
}

Controller.java

public class Controller implements Initializable {
    public RegexLimitingTextField textField;

    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
        textField.setRegexLimiter("\\w*");
    }
}

如果有人仍然遇到 SceneBuilder 无法加载自定义组件的问题,只需传递 ClassLoader 就可以解决我的问题。

try {
    FXMLLoader loader = new FXMLLoader(getClass().getResource("CustomComponent.fxml"));
    loader.setRoot(this);
    loader.setController(this);
    loader.setClassLoader(getClass().getClassLoader());
    loader.load();
} catch (IOException e ){
    throw new RuntimeException(e);
}

信用去往奇迹创造者,那个javaguy https://stackoverflow.com/a/24039826/5432315.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

场景生成器中的自定义控件 ClassNotFoundException 的相关文章

  • 如何在日期选择器中设置不在当前月份的单元格的样式

    我目前正在为我的 JavaFX 应用程序制作注册表 问题是 当日期选择器中的单元格不在页面的月份上时 我想让该单元格变灰 让我们看看我当前的日期选择器 我的日期选择器 正如您所看到的 我希望下个月的日期 27 日 28 日 30 日以及 1
  • Java 中的 XPath 节点集

    我在 eclipse 中有这段代码 NodeSet nodes NodeSet xPath evaluate expression inputSource XPathConstants NODESET 它给我 NodeSet 上的编译时错误
  • JavaMail Gmail 问题。 “准备启动 TLS”然后失败

    mailServerProperties System getProperties mailServerProperties put mail smtp port 587 mailServerProperties put mail smtp
  • Java程序中的数组奇怪的行为[重复]

    这个问题在这里已经有答案了 我遇到了这个 Java 程序及其以意想不到的方式运行 以下程序计算 int 数组中元素对之间的差异 import java util public class SetTest public static void
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • Java 页面爬行和解析之 Crawler4j 与 Jsoup

    我想获取页面的内容并提取其中的特定部分 据我所知 此类任务至少有两种解决方案 爬虫4j https github com yasserg crawler4j and Jsoup http jsoup org 它们都能够检索页面的内容并提取其
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • Microsoft Graph 身份验证 - 委派权限

    我可以使用 Microsoft Graph 访问资源无需用户即可访问 https developer microsoft com en us graph docs concepts auth v2 service 但是 此方法不允许我访问需
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • Java中接口作为方法参数

    前几天去面试 被问到了这样的问题 问 反转链表 给出以下代码 public class ReverseList interface NodeList int getItem NodeList nextNode void reverse No
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 如何配置eclipse以保持这种代码格式?

    以下代码来自 playframework 2 0 的示例 Display the dashboard public static Result index return ok dashboard render Project findInv
  • Springs 元素“beans”不能具有字符 [children],因为该类型的内容类型是仅元素

    我在 stackoverflow 中搜索了一些页面来解决这个问题 确实遵循了一些正确的答案 但不起作用 我是春天的新人 对不起 这是我的调度程序 servlet
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp

随机推荐

  • 自动测试问题

    我刚刚安装了 Zentest 4 4 6 其中包括自动测试 4 4 6 当我运行自动测试时 出现以下错误 gems ZenTest 4 6 0 lib autotest rb 226 in autodiscover undefined me
  • 科尔多瓦建造|运行失败 -compileDebugJavaWithJavac

    我在构建我的项目时遇到问题安卓平台 on 阿帕奇科尔多瓦 版本号 Android 5 0 1 三星 Galaxy S4 Cordova 6 1 1 于 2016 年 7 月 4 日从 5 1 1 更新 离子 1 7 14 Windows 7
  • 如何在MySQL中实现关键字搜索?

    我是 SQL 编程新手 我有一个表作业 其中的字段id position category location salary range description refno 我想实施一个关键词搜索从前端 关键字可以驻留在上表的任何字段中 这是
  • 如果初始帧是 CGRectZero,则自定义 UIView 的 drawRect 永远不会被调用

    我有一个非常简单的 UIView 自定义子类 import BarView h import
  • 为什么 Tensorflow 文档中没有提及 contrib.layers.linear?

    我试图理解其他人的简单张量流模型 他们使用 contrib layers linear 但是我在任何地方都找不到有关此内容的任何信息 并且张量流文档中也没有提及 The tf contrib layers模块有API文档here https
  • 如何将 Oracle 中一个表的分区导入到另一个表中?

    我想知道以下步骤是否可行以及速度有多快 在表A中创建名为part1的分区 删除表B中的分区part1 将表A分区part1导入表B 如果确实可能的话 你能为我提供一个例子吗 或者有什么资源可以看吗 请注意 这些表将具有完全相同的结构 你可以
  • 在贝塞尔曲线路径上移动对象

    我想在贝塞尔曲线路径上从上到下移动图像 但我不知道如何计算该路径的 x y 点和斜率 该路径如下图所示 我有起点 终点和两个控制点 Path path new Path Point s new Point 150 5 Point cp1 n
  • 如何让puppeteer浏览器保持在后台运行而不跳转到前台?

    使用时puppeteer通过a抓取一堆网站for loop 每当创建一个新页面时 浏览器就会跳转到前台 这妨碍了我在计算机上做其他事情 即使我设置了以下参数 它仍然不起作用 那么我怎样才能让浏览器安静地运行而不跳到前台并打断我呢 我需要跑进
  • 如何在 mPDF 中设置自定义页面尺寸?

    我需要一些有关 mPDF 的帮助 我想设置我的自定义页面尺寸 确切地说 宽度 49 毫米 高度 200 毫米 但我找不到解决方案 我找到了 mPDF 手册 http mpdf1 com manual index php tid 184 ht
  • Pyside安装错误

    我有 32 位 Windows 7 操作系统 今天 我尝试下载 PySide 安装程序 但是 在我尝试运行下载的文件后 出现以下错误 PySide 安装程序无效或损坏 为什么我会得到这个 我最近开始了一门关于使用 Qt 框架使用 Pytho
  • Matplotlib 添加默认水印

    我在用着matplotlib对于工作和公司来说 政策是在我们制作的每个图上都包含水印 有没有办法设置matplotlib默认情况下执行此操作 我目前正在通过每个Axes对象到辅助函数中 该函数在左下角添加水印 import matplotl
  • 如何隐藏/显示UIimageview?

    void viewDidAppear BOOL animated super viewDidAppear animated CGRect viewRect CGRectMake 250 100 30 30 as UIImageView al
  • “政党模式”背后的原则和好处是什么?

    派对模型 是关系数据库设计的一种 模式 它至少有一部分涉及找到许多实体 例如客户 员工 合作伙伴等 之间的共性 并将其分解到一些更 抽象 的数据库表中 我想了解您对以下问题的想法 政党模式背后的核心原则和动力是什么 它规定您对数据模型做什么
  • hadoop pagerank运行时出现错误

    我已经在我的 vmware 上安装了 hadoop 并设计了我的 jar 文件 pagerank 运行以下命令 hadoop jar PageRank 1 0 0 jar PageRankDriver init 输入输出 2 出现以下错误
  • R 如何在另一个函数中将函数作为字符串传递

    对于这个小难题的任何帮助将不胜感激 我正在尝试向tq transmute函数从tidyquant包裹 参数的值是一个函数 但是我想将其作为字符串传递 在下面示例的范围内 我将通过 Shiny 传递它 selectInput 我已经尝试了所有
  • 如何检测地址/坐标中是否可以使用 Google 街景

    我正在制作一个使用 Google 街景图像 API 的应用程序 我可以毫无问题地根据地址 坐标获取街景图像 但是 我想检测特定地址是否有可用的街景图像 以便为没有街景图像的地址显示不同的行为 到目前为止我唯一的想法是读取返回图像的像素并检测
  • java: R 无法解析为变量

    我知道这个问题以前已经被问过 但我对此无能为力 我刚刚创建了一个新项目并收到此错误 当然 R java 文件没有被生成 我正在使用 JRE7 android 4 2 2 package com example myfirstapp impo
  • TensorFlow 中张量值的条件分配

    我想复制以下内容numpy代码在tensorflow 例如 我想分配一个0到先前值为的所有张量索引1 a np array 1 2 3 1 a a 1 0 a should be 0 2 3 0 如果我写类似的代码tensorflow我收到
  • 如何在Windows服务器上运行solr使其自动启动?

    如何在 Windows 服务器上运行 solr 使其自动启动 我运行它 java jar start jar 但我需要服务器自动执行此操作 使用您需要的命令创建一个批处理文件并在启动时运行它 一些these http windowsxp m
  • 场景生成器中的自定义控件 ClassNotFoundException

    我通过扩展现有控件创建了一个新控件 并且我想在我的 JavaFX 场景中使用这个新控件 我希望能够使用场景生成器编辑场景 但是将新控件添加到 FXML 文件后 我遇到了ClassNotFoundException打开场景生成器时 例如 这是