Java “所有的”是什么;内务管理“;这必须在FXML应用程序中完成吗?

Java “所有的”是什么;内务管理“;这必须在FXML应用程序中完成吗?,java,javafx,fxml,Java,Javafx,Fxml,我目前正在尝试将JavaFX应用程序转换为FXML应用程序(工作需求),我已经在圈子里运行了一段时间。我理解基本原理(用户界面和后端工作分别定义),但所有的跳转、技术细节、变通方法、所有那些initialize()s、loader、start()s、launch()s、controller、injections等等都让我有些不知所措。该应用程序在其当前状态下抛出了一个编译时错误,如果我的生活依赖于它,我无法预测出任何东西,但我隐约怀疑它会导致整个FXMLLoader事件的潜在黑暗 这是行不通的。

我目前正在尝试将JavaFX应用程序转换为FXML应用程序(工作需求),我已经在圈子里运行了一段时间。我理解基本原理(用户界面和后端工作分别定义),但所有的跳转、技术细节、变通方法、所有那些initialize()s、loader、start()s、launch()s、controller、injections等等都让我有些不知所措。该应用程序在其当前状态下抛出了一个编译时错误,如果我的生活依赖于它,我无法预测出任何东西,但我隐约怀疑它会导致整个FXMLLoader事件的潜在黑暗


这是行不通的。这些教程只解释了其中的一部分,我目前的工作方式仍然是复制/稍微修改我在任何地方找到的代码,并希望它能以某种方式工作,而不是真正理解原理并采取合理的步骤来实现一个明确的目标。是否有一个清单,列出了让FXML应用程序正常工作所需的所有操作,或者对如何将所有操作结合在一起进行了明确的解释?

以下是一个清单,列出了需要按照通常的顺序进行的操作:

  • 在FXML文件中定义UI(比如UI.FXML)
  • 为给定的FXML编写一个控制器类,该类包含带有@FXML注释的JavaFX字段,将从上述FXML注入
  • 返回FXML文件并添加fx:controller=“fullpackagename.ControllerName”
  • 如有必要,执行
    public void initialize()
    。这将在注入后调用。注意,方法签名必须完全相同
  • 编写一个入口点,通常是
    SomethingApp extensed Application
    。在被覆盖的
    start()

  • 这里有一个简短的练习。本例假设您熟悉Maven目录结构。如果没有,那么所有3个文件,即App、Controller、ui.fxml必须在同一个包中,以便fxmloader能够找到它。

    也许我的回答的后半部分会有所帮助。