我应该改变整个场景还是只改变我需要的部分?
Should I change the entire scene or just the parts I need?
我想为我的应用创建以下设计。请注意,顶部有一个 AppBar,它下面有一些内容包裹在 ScrollPane 上。左边的图标会改变显示的内容,将用户带到应用程序的不同部分,例如:浏览文档、消息、设置等。顶部的 AppBar 仍然是相同的,只有中间的内容会改变。现在有两种方法可以做到:
- 有一个带有 ScrollPane 的单一屏幕,其子项动态更改,因此每次按下图标时子项都会更改。
- 拥有多个屏幕,当用户单击一个图标时,会创建一个全新的场景。
每种方式的优缺点是什么?
一个场景更容易管理。这是带有 BorderPane 的 JavaFX 应用程序中的典型用例。您可以创建一个 AppView extends BorderPane 并在顶部设置 Menu/Toolbar,在中心打开视图,在底部设置状态栏(如果使用)。如果需要,您只能更改 BorderPane 中心的当前视图。
我已经实现了类似的 AppView,你可以在我的 JavaFX MVC 应用程序演示源代码中查看AppView。
我想为我的应用创建以下设计。请注意,顶部有一个 AppBar,它下面有一些内容包裹在 ScrollPane 上。左边的图标会改变显示的内容,将用户带到应用程序的不同部分,例如:浏览文档、消息、设置等。顶部的 AppBar 仍然是相同的,只有中间的内容会改变。现在有两种方法可以做到:
- 有一个带有 ScrollPane 的单一屏幕,其子项动态更改,因此每次按下图标时子项都会更改。
- 拥有多个屏幕,当用户单击一个图标时,会创建一个全新的场景。
每种方式的优缺点是什么?
一个场景更容易管理。这是带有 BorderPane 的 JavaFX 应用程序中的典型用例。您可以创建一个 AppView extends BorderPane 并在顶部设置 Menu/Toolbar,在中心打开视图,在底部设置状态栏(如果使用)。如果需要,您只能更改 BorderPane 中心的当前视图。
我已经实现了类似的 AppView,你可以在我的 JavaFX MVC 应用程序演示源代码中查看AppView。