如何创建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
它看起来如何: