gpt4 book ai didi

JavaFX - Stage 参数的重点是什么?

转载 作者:行者123 更新时间:2023-12-01 09:14:18 25 4
gpt4 key购买 nike

我正在学习本教程: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);
}

}

最佳答案

这基本上是关注点的分离。

Stage 是一个用于修改外观、标题、位置等的对象。 windowScene用于布局和处理事件等。

在单独的类中实现功能是一项设计决策,它很可能还受到操作系统和场景(如果完全由所提供的窗口内的工具包呈现)提供的窗口这一事实的影响。

但是,Scene 也可以在用于将 JavaFX 嵌入其他 GUI 库(FXCanvasJFXPanel)的容器中使用。

关于JavaFX - Stage 参数的重点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40690212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com