【发布时间】:2017-04-03 01:54:49
【问题描述】:
我正在阅读本教程:https://docs.oracle.com/javase/8/javafx/get-started-tutorial/hello_world.htm
它是这样说的:
“JavaFX 应用程序通过舞台和场景来定义用户界面容器。JavaFX Stage 类是顶级 JavaFX 容器。JavaFX Scene 类是所有内容的容器......”
“在JavaFX中,场景的内容被表示为节点的分层场景图。在这个例子中,根节点是一个StackPane对象......”
我不明白 Stage 对象的意义何在。如果 StackPane 是根节点(我理解整个树结构的事情),并且如果 Scene 是所有内容的容器,那么 Stage 在做什么?场景为什么不能做到呢?
代码如下:
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) {
// TODO Auto-generated method stub
Button btn = new Button("Say 'Hello World'");
btn.setOnAction((ActionEvent event) -> System.out.println("Hello World!"));
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
【问题讨论】:
-
如果你有多个场景需要在它们之间切换怎么办?像这样:javafxtutorials.com/tutorials/…
-
@omid 谢谢,这实际上清除了一切!