Javafx 我应该改变整个场景还是只改变我需要的部分?

Javafx 我应该改变整个场景还是只改变我需要的部分?,javafx,Javafx,我想为我的应用程序创建以下设计。请注意,顶部有一个AppBar,下面有一些内容包装在滚动窗格中。左边的图标会改变所显示的内容,将用户带到应用程序的不同部分,例如:浏览文档、消息、设置等。顶部的AppBar仍然是相同的,只有中间的内容会改变。现在有两种方法: 有一个带有滚动窗格的单一屏幕,其子项会动态更改,因此每次按下图标时,子项都会更改 有多个屏幕,当用户单击图标时,将创建一个完整的新场景 每种方法的优缺点是什么 使用一个场景更容易管理。这是带有BorderPane的JavaFX应用程序中的

我想为我的应用程序创建以下设计。请注意,顶部有一个AppBar,下面有一些内容包装在滚动窗格中。左边的图标会改变所显示的内容,将用户带到应用程序的不同部分,例如:浏览文档、消息、设置等。顶部的AppBar仍然是相同的,只有中间的内容会改变。现在有两种方法:

  • 有一个带有滚动窗格的单一屏幕,其子项会动态更改,因此每次按下图标时,子项都会更改
  • 有多个屏幕,当用户单击图标时,将创建一个完整的新场景
每种方法的优缺点是什么


使用一个场景更容易管理。这是带有BorderPane的JavaFX应用程序中的典型用例。您可以创建AppView扩展边框窗格,并在顶部设置菜单/工具栏,在中间设置打开的视图,在底部设置状态栏(如果使用)。如果需要,您只能更改“边框”窗格中心的当前视图


我已经实现了类似的AppView,您可以查看我的JavaFX MVC应用程序演示源代码。

您可能不应该使用
滚动窗格
。我认为如果您只需要显示几个项目就可以了,但是在这些情况下通常会使用
ListView
。当内存很少且有限时,关键是
ListView
。如果这是一个移动应用程序,我建议改为
ListView
。谢谢,我会看看它的!