【发布时间】:2010-11-09 22:39:05
【问题描述】:
构建应用程序 gui 组件树的首选方法是什么?
实例化所有组件并构建整个树,通过对用户事件的显示/隐藏/禁用/启用操作来控制它。
使用基于用户事件的创建/添加/删除组件动态创建 gui。
我对 JavaFX 中的这个设计问题特别感兴趣。
【问题讨论】:
标签: user-interface javafx gui-designer
构建应用程序 gui 组件树的首选方法是什么?
实例化所有组件并构建整个树,通过对用户事件的显示/隐藏/禁用/启用操作来控制它。
使用基于用户事件的创建/添加/删除组件动态创建 gui。
我对 JavaFX 中的这个设计问题特别感兴趣。
【问题讨论】:
标签: user-interface javafx gui-designer
抱歉,我对 JavaFX 了解不多。
但是,我建议选项 2。如果您在开始时实例化所有内容,那么当您实际上只需要为当前可见的 gui 组件使用内存时,您将用完整个内存负载。
为当前屏幕创建所有组件,并显示/隐藏/禁用/启用它们。但不要创建不在当前屏幕/窗口/表单/对话框中的组件。
【讨论】:
答案主要取决于性能。我已经构建了大约 3000 个节点的树,没有问题。在某个时间点,添加到场景中的节点数量确实会影响性能,但这是一个不断变化的目标,因为 JavaFX 的每个版本都在改进这一点。
但是,并非所有这些性能下降都是由于节点数量造成的,因为它可能是由于“BindStorming”。请参阅 Jim Connors blog 在此和其他与性能相关的帖子。
【讨论】: