首页  >  文章  >  Java  >  为什么我的 JavaFX 控制器类不工作?

为什么我的 JavaFX 控制器类不工作?

Patricia Arquette
Patricia Arquette原创
2024-11-03 01:36:29627浏览

Why is my JavaFX Controller Class not working?

JavaFX 控制器类不工作

提供的代码与 TextArea 作为日志交互。目标是在需要时从单独的类更新 TextArea 的内容。这需要创建一个扩展Initialized 的控制器类。但是,控制器实现无法正常运行。

解决方案

代码有一个根本问题:Application 类被用作控制器。不鼓励这种做法,因为:

  • 应该只有一个应用程序实例,但加载程序经常创建多个实例。
  • 引用控制器成员对象可能会令人困惑,因为它们的用途不同启动的应用程序和加载器创建的应用程序实例之间的字段可用性。

此外,建议在实现多线程之前完成 UI 的基本功能。

修订的代码

以下是使用控制器、Web 导入器和文本日志记录示例的单独类的更正代码:

Root.fxml

<code class="xml">...
fx:controller="textlogger.ImportController"
...</code>

ImportController.java

<code class="java">...
private WebImporter importer;
...</code>

WebImporter.java

<code class="java">...
private final TextArea textArea;
...</code>

TextLoggingSample.java (入口点)

<code class="java">...
Parent root = loader.load(
    getClass().getResourceAsStream(
            "Root.fxml"
    )
);
...</code>

结论

通过分离控制器类并使用正确的多线程方法,应用程序现在可以成功地从单独上课。

以上是为什么我的 JavaFX 控制器类不工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn