JavaFX类设计

标签 java user-interface javafx class-design

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

最佳答案

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

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

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

关于JavaFX类设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45173924/

相关文章:

java - com.acti.braintreegateway.exceptions.UnexpectedException : Could not verify SSL certificate for URL

java - Android屏幕方向处理问题

Python GUI 在整个过程完成之前不会更新

java - 我应该为这个 Java GUI 作业使用什么样的布局?

java - 如何在eclipse中从编译中排除文件夹

c++ - 我可以使用 wxWidgets 而不是 Qt 吗?

JavaFX 自定义 css 游标

java - 如何使用耗时和估计的剩余时间值在 javafx 中实现进度条?

java - 场景加载太慢

Java 没有将准确的日期存储到 mysql 数据库