JavaFX点击按钮打开窗口

JavaFX是一种用于创建富客户端图形用户界面(GUI)的Java库。它提供了丰富的图形界面组件和丰富的样式化选项,可以用于构建跨平台的桌面应用程序。本文将介绍如何使用JavaFX实现点击按钮打开新窗口的功能。

准备工作

在开始之前,确保你已经安装了Java Development Kit(JDK)和JavaFX。你可以从Oracle官方网站下载JDK,并从OpenJFX项目的GitHub页面上下载JavaFX。

创建JavaFX应用程序

首先,我们需要创建一个JavaFX应用程序。在你的IDE中创建一个新的Java项目,并将其命名为"JavaFXApp"(或其他你喜欢的名称)。

在JavaFX应用程序中,有一个主要的窗口称为主舞台(Stage)。我们将在主舞台中添加一个按钮,当用户点击按钮时,将打开一个新的窗口。

创建主舞台

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

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建一个按钮
        Button button = new Button("打开新窗口");
        // 设置按钮的点击事件
        button.setOnAction(event -> {
            openNewWindow();
        });

        // 创建一个堆栈面板,并将按钮添加到面板中
        StackPane root = new StackPane();
        root.getChildren().add(button);

        // 创建一个场景,并将面板添加到场景中
        Scene scene = new Scene(root, 300, 200);

        // 将场景设置为主舞台的场景,并显示主舞台
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

    private void openNewWindow() {
        // 创建一个新的舞台
        Stage newStage = new Stage();

        // 创建一个新的堆栈面板,并将其添加到新的舞台中
        StackPane newRoot = new StackPane();
        Scene newScene = new Scene(newRoot, 200, 100);
        newStage.setScene(newScene);
        newStage.show();
    }
}

在上面的代码中,我们创建了一个继承自Application的Main类。我们重写了start方法,在该方法中创建了主舞台并添加了一个按钮。当用户点击按钮时,将调用openNewWindow方法打开一个新的窗口。

创建新窗口

在openNewWindow方法中,我们创建了一个新的舞台和一个新的堆栈面板。然后,我们将面板添加到舞台中,并创建一个新的场景。最后,将新场景设置为新舞台的场景,并显示新舞台。

运行应用程序

现在我们已经完成了代码的编写,让我们来运行这个应用程序。你可以使用你喜欢的IDE运行该程序,或者使用命令行。

如果你使用命令行,首先将当前目录更改为该项目的根目录,然后执行以下命令:

javac --module-path /path/to/javafx-sdk-16/lib --add-modules javafx.controls Main.java
java --module-path /path/to/javafx-sdk-16/lib --add-modules javafx.controls Main

确保将/path/to/javafx-sdk-16替换为你下载的JavaFX的实际路径。

结论

通过使用JavaFX,我们可以轻松地创建具有丰富图形界面的Java应用程序。在本文中,我们学习了如何使用JavaFX创建一个点击按钮打开新窗口的应用程序。我们创建了一个主舞台,添加了一个按钮,并设置了按钮的点击事件。当用户点击按钮时,将打开一个新的窗口。希望本文对你理解JavaFX并能够使用它来构建GUI应用程序有所帮助。