JavaFX class 设计

JavaFX class design

我使用 Swing 多年,现在我要转向 JavaFX。尽管有很多相似之处,但我对某些主题感到困惑,例如如何有效地开发涉及许多 scenes/stages 的大型应用程序。在 Swing 中,最常用的方法是继承,例如通过 subclassing JPanel class 或其他 Swing 组件。从我到现在所看到的,在 JavaFX 中这似乎不是常见的做法。虽然可以subclass Stage and Scene classes,但似乎不推荐。 但我也注意到,特别是在复杂 GUI 的情况下,我最终将我的主要 class(包含 start 方法的那个)变成了一个由数百行代码组成的巨大集群。这样的代码似乎很难调试和维护,但可能我使用了错误的方法。虽然在 Swing 中这可以通过某些方式避免,例如通过子 class 一些组件并重用它们,是否有任何类似的设计技术可以帮助我将我的 JavaFX 应用程序分解成更多 class是吗?

我会看一下 Oracle 的教程,它会引导您构建多屏幕 javafx 应用程序。

可以在此处找到本教程的代码Acaicedo GitHub

它遵循 MVC(模型视图控制器),其中 FXML 文件是视图,与用 java 编写的独特控制器相关联。该框架添加了一个额外的控制器,允许在屏幕之间导航(即将显示内容转移到不同的控制器和视图)。