7

我需要在 JavaFX 中创建一个对话框。我知道我可以通过修改模式、所有者和可调整大小的属性使舞台表现得像一个对话框。

但是如何隐藏舞台窗口中的“最小化”和“最大化”按钮呢?典型的对话框只有“关闭”按钮。

4

2 回答 2

23

在 Windows 7 下,在显示窗口之前初始化StageStyle.UTILITY将创建一个只有关闭按钮且没有最小化或最大化按钮的窗口:

Stage dialog = new Stage();
dialog.initStyle(StageStyle.UTILITY);
Scene scene = new Scene(new Group(new Text(25, 25, "Hello World!")));
dialog.setScene(scene);
dialog.show();

如果您想要一套完整的基本 JavaFX 对话框,我会推荐JavaFX UI 沙盒对话框

JavaFX UI 沙盒不是我创建的,也没有托管在我的网站上(源代码由 Oracle 托管)。我要求 Oracle 记录沙盒对话框 API。如果您愿意,您可以投票或评论该请求。

Makery 的博客有一些关于沙盒对话框的最小的第 3 方文档,包括基本使用示例以及将对话框部分向后移植到 JavaFX 2.2。

更新

JavaFX UI 沙盒已被ControlsFX 项目取代。

更新

Java 8u40 将包含内置于核心平台 API 中的 JavaFX 对话框。您可以尝试Java8u40 的早期访问版本。相关类是 javafx.scene.control.Dialog 及其相关子类,例如 javafx.scene.control.Alert (Alert 类用于显示类似于 Swing 的 JOptionPane 类的标准对话框 - 所以你不需要使用 JOptionPane开箱即用的标准对话框功能)。

Makery 为 Java 8u40 中提供的对话框功能编写了一个新的博客教程

相关问题

于 2013-01-05T03:19:10.277 回答
1

您也可以尝试我的方法来创建 Java FX 8 的自定义对话框窗口。以下链接中提供了带有实际使用示例的源代码和可运行的演示:

https://github.com/bluevoxel/ChooseStage

它的样子是这样的:

在此处输入图像描述

于 2014-07-25T13:40:22.740 回答