【问题标题】:Issues with migrating to JavaFX 8迁移到 JavaFX 8 的问题
【发布时间】:2014-06-06 10:20:08
【问题描述】:

我最近安装了新的 Java 8u5 更新,因此我可以使用 lambda 操作和新的 Scene Builder,但是我立即在加载 FXML 文档时遇到了问题。在我在另一个线程中执行此操作并使用 Platform.runLater(...) 使用 FXMLLoader 加载之前。但是这不起作用,所以我把它放在 JavaFX 应用程序线程上,如下所示:

ready.addListener((ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) -> {
        if (Boolean.TRUE.equals(t1)) {
            Platform.runLater(() -> {
                try {
                    //skipped loading the other FXML documents for this post...
                    final FXMLLoader load = new FXMLLoader(guiResource);
                    final GUIController guiController = new GUIController();
                    load.setController(guiController);
                    scene = new Scene((AnchorPane) load.load());
                    stage.setScene(scene);
                } catch (IOException ex) {
                    Util.err(ex.getLocalizedMessage());
                }
                stage.show();
            });
        }
}

但是我仍然在 netbeans 控制台中收到这个相当无用的帖子:

file:/C:/Users/Blah/path/to/my/Application.jar!/resources/GUI2.fxml

这就是它所说的。有没有其他人有这个问题?这是什么意思?为什么.jar后有感叹号?

我认为问题可能与我在控制器中的变量声明有关,所以这里是一个示例:

@FXML
Region fileImportVeil;
@FXML
ProgressIndicator fileImportProgressIndicator;

我的意思是把private 放在我所有的 FXML 字段前面吗?

【问题讨论】:

  • 你不需要把private放在它前面。如果您不使用任何(包私有)、私有或受保护变量,则需要@FXML 注释,而对于公共变量则不需要。 .jar! 表示资源在内部 JAR。您需要提供更多数据才能提供帮助,从异常的堆栈跟踪开始。
  • 不知道异常在哪里;它给我的只是文件的路径,没有堆栈跟踪,否则我会发布它!
  • 您正在使用Util.err(ex.getLocalizedMessage()) 吞下堆栈跟踪,因此您只显示错误消息。
  • 这个问题不是题外话,我已经找到了我认为可以帮助其他人的解决方案,如果他们有同样的问题。所以请取消保留,以便我回答。

标签: java java-8 javafx-8 fxml


【解决方案1】:

看着

file:/C:/Users/Blah/path/to/my/Application.jar!/resources/GUI2.fxml

您需要使用 7zip、WinZip 或 NetBeans 打开 Application.jar,并检查路径

/resources/GUI2.fxml

也许应该是

/GUI2.fxml

很可能目录/resources太多了,源根目录/src/main/resources左右。 (否则可能是区分大小写的问题。)

【讨论】:

    猜你喜欢
    • 2020-01-13
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 2018-11-21
    • 2019-10-25
    • 2011-06-20
    相关资源
    最近更新 更多