首页 > 解决方案 > 在 JavaFX 中切换视图

问题描述

一种方法是我们在Stage使用setScene()方法中改变场景。

不同的是,设置Scene使用setRoot()方法的根。

使用哪一个以及何时使用?使用其中的每一个是否有任何优点/缺点和后果?

标签: javajavafx

解决方案


  • Stage.setScene()改变整个 JFX 外观(就像舞台被新场景替换时的剧院)
  • Scene.setRoot()允许将当前场景切换到新场景,该场景是组中的场景之一。

此外,如果您切换场景,您将丢失与场景关联的属性。通常,例如,您将样式表加载到场景中,因此如果您更改场景,您将失去 CSS 样式,或者需要再次加载样式表。同样,您丢失了背景颜色、大小等,因此这实际上仅取决于您是要保留这些属性还是要替换它们。


推荐阅读