Java 在窗口再加一个窗口

Java 是一种面向对象的编程语言,被广泛应用于软件开发和移动应用程序开发中。在 Java 中,我们可以使用窗口来创建图形用户界面(GUI)应用程序,使用户能够通过可视化的界面与程序进行交互。

在 Java 中,我们可以使用 JavaFX 或 Swing 来创建窗口应用程序。这两个框架提供了丰富的组件和功能,可以帮助我们创建各种类型的窗口应用程序。

创建一个窗口

首先,我们需要导入必要的 JavaFX 或 Swing 库,以便在程序中使用窗口相关的类和方法。下面是一个使用 JavaFX 创建一个简单窗口的示例代码:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class MyWindow extends Application {
    @Override
    public void start(Stage primaryStage) {
        // 创建一个根容器
        StackPane root = new StackPane();

        // 创建一个标签
        Label label = new Label("Hello, World!");

        // 将标签添加到根容器中
        root.getChildren().add(label);

        // 创建一个场景
        Scene scene = new Scene(root, 300, 200);

        // 将场景添加到窗口中
        primaryStage.setScene(scene);

        // 设置窗口标题
        primaryStage.setTitle("My Window");

        // 显示窗口
        primaryStage.show();
    }

    public static void main(String[] args) {
        // 启动窗口应用程序
        launch(args);
    }
}

在上面的代码中,我们创建了一个 MyWindow 类,它继承自 Application 类。我们重写了 start 方法,在这个方法中创建了一个 Stage 对象(表示窗口),然后创建了一个 StackPane 对象作为根容器,再创建一个 Label 对象作为标签,并将它添加到根容器中。接下来,我们创建了一个 Scene 对象,将根容器和窗口的大小作为参数传递给构造方法。最后,我们将场景设置给窗口,并设置窗口标题,最后显示窗口。

在窗口中再加一个窗口

要在一个窗口中添加另一个窗口,我们可以创建一个新的窗口,并将它作为根容器的子节点。下面是一个示例代码,演示了如何在一个窗口中再加一个窗口:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class MyWindow extends Application {
    @Override
    public void start(Stage primaryStage) {
        // 创建一个根容器
        StackPane root = new StackPane();

        // 创建一个按钮
        Button button = new Button("Open Another Window");

        // 设置按钮的点击事件处理器
        button.setOnAction(event -> {
            // 创建另一个窗口
            Stage anotherStage = new Stage();

            // 创建另一个根容器
            StackPane anotherRoot = new StackPane();

            // 创建一个标签
            Label label = new Label("Another Window");

            // 将标签添加到另一个根容器中
            anotherRoot.getChildren().add(label);

            // 创建一个场景
            Scene anotherScene = new Scene(anotherRoot, 200, 100);

            // 将场景添加到另一个窗口中
            anotherStage.setScene(anotherScene);

            // 设置另一个窗口标题
            anotherStage.setTitle("Another Window");

            // 显示另一个窗口
            anotherStage.show();
        });

        // 将按钮添加到根容器中
        root.getChildren().add(button);

        // 创建一个场景
        Scene scene = new Scene(root, 300, 200);

        // 将场景添加到窗口中
        primaryStage.setScene(scene);

        // 设置窗口标题
        primaryStage.setTitle("My Window");

        // 显示窗口
        primaryStage.show();
    }

    public static void main(String[] args) {
        // 启动窗口应用程序
        launch(args);
    }
}

在上面的示例代码中,我们在 MyWindow 类的 start 方法中创建了一个按钮,并设置了它的点击事件处理器。当按钮被点击时,会创建一个新的窗口(anotherStage),