当前位置: 首页 > 知识库问答 >
问题:

如何在javafx[duplicate]中创建弹出窗口

云弘壮
2023-03-14

我想在JavaFX应用程序中创建一个弹出窗口。给我一些想法。

当我点击检查按钮时,它会打开弹出窗口。怎么做?

共有3个答案

包谭三
2023-03-14

看看jfxmessagebox(http://en.sourceforge.jp/projects/jfxmessagebox/)如果您正在寻找非常简单的对话框弹出窗口。

夏侯弘光
2023-03-14

Popup类可能比Stage类更好,这取决于您想要什么。Stage要么是模态的(你不能点击应用程序中的任何其他内容),要么是在你点击应用程序中的其他地方时消失(因为它是一个单独的窗口)。弹出窗口保持在顶部,但不是模态。

请参阅此弹出窗口示例。

夏建弼
2023-03-14

你可以创建一个新的<代码>阶段<代码>,将你的控件添加到它中,或者如果你需要弹出窗口作为<代码>对话框>代码>框,那么你可以考虑使用DealStfx或控件Sfx(需要JavaFX8)。

要创建新阶段,可以使用以下代码段

@Override
public void start(final Stage primaryStage) {
    Button btn = new Button();
    btn.setText("Open Dialog");
    btn.setOnAction(
        new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                final Stage dialog = new Stage();
                dialog.initModality(Modality.APPLICATION_MODAL);
                dialog.initOwner(primaryStage);
                VBox dialogVbox = new VBox(20);
                dialogVbox.getChildren().add(new Text("This is a Dialog"));
                Scene dialogScene = new Scene(dialogVbox, 300, 200);
                dialog.setScene(dialogScene);
                dialog.show();
            }
         });
    }

如果您不希望它成为模式(阻止其他窗口),请使用:

dialog.initModality(Modality.NONE);
 类似资料:
  • 我正在使用Windows 7和10。我想知道如何在Perl6中创建一个弹出窗口来向用户提供信息?类似Linux的发送通知或Windows Pro msg(没有网络) 非常感谢,-T

  • E/AndroidRuntime:致命异常:main process:com.luteraa.luteraaesports,pid:6355 java.lang.nullpointerException:试图在com.luteraa.luteraaesports.bgmicategoryAdapter.OpenDialog(bgmicategoryAdapter.java.access$000(b

  • main.java--(src/sample文件夹) studentcontroller.java--(src/sample/controller文件夹) studentdao.java和sexdao.java(数据访问对象)--(src/sample/model文件夹) Student.java(公共类学生和构造器)--(src/sample/model文件夹) oddbc的util下的dbut

  • 我不知道如何在JavaFX中创建模式窗口。基本上我有文件选择器,我想在用户选择文件时问他们一个问题。我需要这些信息来解析文件,因此执行需要等待答案。 我已经看到了这个问题,但我还没有找到如何实现这个行为。

  • 问题内容: 我正在尝试使用javafx在webview中打开网页。单击超链接后,此网页将打开一个新的弹出窗口。 我如何打开新的弹出窗口,当尝试在默认Web浏览器(例如chrome,IE)中打开同一网页时,它们正在打开弹出窗口。 为了创建弹出窗口,我使用以下代码。 问题答案: 您需要自己创建WebView弹出窗口,并从回调中提供WebEngine。如果需要新窗口,请使用该WebView创建一个新的舞

  • 我在窗格上保留了一个弹出对话框,它位于其他组件的顶部。现在我想禁用访问程序的所有其他组件。怎么做?