javafx 弹窗打开关闭
  OUThBW24xVOm 2023年12月22日 15 0

JavaFX 弹窗打开关闭教程

简介

在JavaFX中,弹窗是一种常见的界面元素,用于显示一些重要的信息或者获取用户的输入。本教程将教会你如何实现JavaFX弹窗的打开和关闭功能。

整体流程

下面是整个实现过程的步骤,用表格形式展示:

步骤 操作
1 创建一个JavaFX应用窗口
2 创建一个按钮,并将其添加到应用窗口中
3 监听按钮的点击事件
4 创建一个弹窗窗口
5 创建一个关闭按钮,并将其添加到弹窗中
6 监听关闭按钮的点击事件,并关闭弹窗

接下来,我们将逐步详细说明每个步骤需要做什么,并提供相应的代码。

步骤1:创建一个JavaFX应用窗口

首先,我们需要创建一个JavaFX应用窗口,以便我们可以在其中添加按钮和弹窗。下面是创建应用窗口的代码:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("JavaFX 弹窗示例");
        VBox root = new VBox(); // 创建一个垂直布局
        Scene scene = new Scene(root, 400, 300); // 创建一个场景
        primaryStage.setScene(scene); // 将场景设置到主舞台
        primaryStage.show(); // 显示主舞台
    }
}

上述代码中,我们创建了一个Stage对象作为主舞台,然后创建了一个垂直布局容器VBox作为根节点,最后将根节点添加到主舞台的场景中,并显示主舞台。

步骤2:创建一个按钮

接下来,我们需要在应用窗口中添加一个按钮,用于触发弹窗的打开。下面是创建按钮的代码:

import javafx.scene.control.Button;

// 在start方法中添加以下代码
Button openButton = new Button("打开弹窗"); // 创建一个按钮
root.getChildren().add(openButton); // 将按钮添加到根节点

上述代码中,我们创建了一个名为openButton的按钮,并将其添加到根节点root中。

步骤3:监听按钮的点击事件

现在,我们需要为按钮添加点击事件的监听器,以便在按钮被点击时打开弹窗。下面是添加监听器的代码:

// 在start方法中添加以下代码
openButton.setOnAction(event -> {
    // 在这里编写打开弹窗的逻辑
});

上述代码中,我们使用Java 8的Lambda表达式为按钮的setOnAction方法提供了一个事件处理器。在事件处理器中,我们需要编写打开弹窗的逻辑。

步骤4:创建一个弹窗窗口

接下来,我们需要创建一个弹窗窗口,以便在按钮被点击时打开。下面是创建弹窗窗口的代码:

import javafx.stage.Modality;
import javafx.stage.StageStyle;

// 在openButton.setOnAction中添加以下代码
Stage popupStage = new Stage(); // 创建一个新的舞台用于弹窗
popupStage.initOwner(primaryStage); // 设置弹窗的拥有者为主舞台
popupStage.initModality(Modality.APPLICATION_MODAL); // 设置弹窗为模态窗口
popupStage.initStyle(StageStyle.UTILITY); // 设置弹窗的样式为UTILITY
popupStage.setTitle("弹窗"); // 设置弹窗的标题

上述代码中,我们创建了一个新的舞台popupStage,并设置其拥有者为主舞台primaryStage。我们还使用initModality方法将弹窗设置为模态窗口,以阻止用户与其他窗口进行交互。最后,我们使用initStyle方法将弹窗的样式设置为`StageStyle

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月22日 0

暂无评论

推荐阅读
  bVJlYTdzny4o   8天前   20   0   0 Java
OUThBW24xVOm