如何创建JavaFX对话框?

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

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

在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 Sandbox不是由我创建的,并且不在我的站点上托管(源由Oracle托管)。 我请求Oracle记录沙箱对话框API 。 如果您愿意,可以投票或评论该请求。

Makery的博客提供了沙盒对话框的一些最小的第三方文档,包括基本用法示例以及JavaFX 2.2对话框部分的后端口。

更新

JavaFX UI Sandbox已被ControlsFX项目取代。

更新

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

Makery为Java 8u40中提供了一个关于对话function的新博客教程 。

相关问题

  • 如何在JavaFX 2.0中创建和显示常见对话框(错误,警告,确认)?

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

https://github.com/bluevoxel/ChooseStage

它看起来如何:

在此处输入图像描述