我需要在JavaFX中创建一个对话框。我知道我可以通过修改模态,所有者和可调整大小的属性使舞台表现得像一个对话框。
但是如何隐藏舞台窗口中的“最小化”和“最大化”按钮?典型的对话框只有“关闭”按钮。
答案 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
它看起来如何: