我读过几篇关于JavaFX中的场景与窗格/ StackPanes的文章。我只是很难确定是否有一个“行业标准”。首先,我想从登录->仪表板->其他“屏幕”。关于场景和堆叠窗格,有没有一个更好的/标准?我理解如果这个问题因为“基于意见”而结束,但从技术上讲,我并不是在寻求意见;我是在寻找JavaFX应用程序架构应该遵循的标准。
发布于 2017-03-14 17:13:51
AFAIK没有来自JavaFX核心的标准,也没有任何关于这一问题的指导方针。
回到Swing时代,我们常常依靠CardPane来实现所需的行为。遗憾的是,JavaFX核心没有提供这种开箱即用的容器/组件。可以基于StackPane编写一个类似的容器(诀窍是确保后层中的子节点从视图中隐藏)。
正如你提到的,切换场景似乎也是一个流行的选择,尽管我更喜欢改变scene的根而不是完全切换整个东西。
最后,构建中大型JavaFX应用程序很可能需要某种应用程序框架。同样,除了Application类提供的非常基本的应用程序生命周期之外,JavaFX核心在这方面没有提供任何支持。我的建议是看一看https://github.com/mhrimaz/AwesomeJavaFX#frameworks,并根据您的特定需求评估这些选项。我是有偏见的,但我建议你去看看http://griffon-framework.org/。公平地说,Griffon并没有强制执行特定的策略来回答您的问题,但是最近对其JavaFX支持的添加应该会使实现CardPane变得更简单。也许这就是我们在下一个版本中要做的:-)
发布于 2017-03-14 19:11:20
我认为这真的取决于你的应用程序的性质。例如,它是一个根据你的活动改变内容的单一可见窗口(例如,可以改变模式的Windows计算器),还是带有选项卡式窗格的类似编辑器的主窗口,或者具有主视图和单独的子窗格的图像编辑器之类的“工具”应用程序。
对于你的用例,我只需要去掉你的主Scene对象的根节点属性。因此,您将拥有一个" dashboard“根节点,当您在仪表板上单击/选择某些内容时,您只需使用要显示的新节点来更新根节点属性。
https://stackoverflow.com/questions/42777353
复制相似问题