2017-07-18 72 views
0

我用摇摆多年,现在我换了JavaFX的。尽管有许多相似之处,但我对某些主题感到困惑,比如如何开发更大的应用程序,这些应用程序有效地涉及许多场景/阶段。在Swing中,最常用的方法是继承,例如通过继承JPanel类或其他Swing组件。从我看到的到现在看来,在JavaFX中这似乎并不是通用的实践。尽管Stage和Scene类可以继承,但似乎并不推荐。 但是我还注意到,尤其是在复杂的GUI的情况下,我结束了我的主类(含有start方法的一个)成为行代码百巨大集群。这样的代码似乎很难调试和维护,但可能我使用了错误的方法。在Swing中,这可以通过某些方式避免,例如通过继承某些组件并重用它们,有没有类似的设计技术可以帮助我在更多类中分解我的JavaFX应用程序?JavaFX类设计

+0

你可以看看FXML,场景生成器控制器的后面。 – pzaenger

+1

我一直在扩展一个StackPane并将它用作带有加载屏幕,卸载屏幕,屏幕类型方法的“场景管理器”。很棒。 – Eric

+1

这听起来像你误会了'Application'类的角色 - 基本上封装了整个应用程序的生命周期 - 和'start'方法(应用程序启动时被调用)。应用程序类中不应该有太多的代码,并且不需要为节点或窗格类创建子类来编写复杂的应用程序(尽管您可以随意使用它)。看看我的答案中的结构https://stackoverflow.com/questions/32464698/java-how-do-i-start-a-standalone-application-from-the-current-one-when-both-是 –

回答

1

我会看看本教程由Oracle其中带您构建一个多屏JavaFX应用程序。

本教程的代码可以在这里Acaicedo GitHub

发现它遵循MVC(模型 - 视图 - 控制器),其中FXML文件的意见,写在Java的独特控制器关联。该框架增加了一个额外的控制器,允许在屏幕之间导航(即将节目内容转移到不同的控制器和视图)。