如何创建JavaFX对话框?

时间:2013-01-05 02:50:13

标签: java user-interface javafx-2 javafx

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

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

2 个答案:

答案 0 :(得分: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 sandbox dialogs

JavaFX UI Sandbox不是由我创建的,并且不在我的站点上托管(源由Oracle托管)。我requested Oracle to document the sandbox dialog API。如果您愿意,您可以投票或评论该请求。

Makery's blog有一些沙盒对话框的第三方文档,包括基本用法示例以及JavaFX 2.2对话框部分的后端。

<强>更新

JavaFX UI Sandbox已被ControlsFX project取代。

<强>更新

Java 8u40 will include JavaFX dialogs内置于核心平台API中。您可以尝试early access release of Java8u40。相关的类是javafx.scene.control.Dialog和它的相关子类,如javafx.scene.control.Alert(Alert类用于显示类似于Swing的JOptionPane类的标准对话框 - 因此您不需要使用JOptionPane开箱即用标准对话框功能)。

Makery wrote a new blog tutorial for dialog functionality provided in Java 8u40

相关问题

答案 1 :(得分:1)

您也可以尝试使用Java FX 8自定义对话框窗口的方法。两种:具有实际使用示例的源代码和可运行的演示可在以下链接中找到:

https://github.com/bluevoxel/ChooseStage

它看起来如何:

enter image description here