【问题标题】:How to create a JavaFX dialog?如何创建 JavaFX 对话框?
【发布时间】:2012-12-19 12:52:14
【问题描述】:

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

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

【问题讨论】:

标签: java user-interface javafx-2 javafx


【解决方案1】:

在 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 沙盒不是我创建的,也没有托管在我的网站上(源代码由 Oracle 托管)。我requested Oracle to document the sandbox dialog API。如果您愿意,您可以投票或评论该请求。

Makery's blog 有一些沙盒对话框的最小 3 方文档,包括基本用法示例以及将对话框部分向后移植到 JavaFX 2.2。

更新

JavaFX UI 沙盒已被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.

相关问题

【讨论】:

  • 谢谢!这是非常好的!
  • @jewelsea,访问了您的网站。是否有仅用于库的弹出窗口或 jar 的代码的下载链接?我下载了相当大的整个项目——只需要对话框的东西。此外,如何使用对话框的示例也会有很大帮助
  • 更新答案以解决您的评论 Anil。
  • 我创建了 JavaFX 8.40 对话框到 JDK7 的反向移植:github.com/BertelSpA/openjfx-dialogs-jdk7
  • 感谢您及时更新此答案。
【解决方案2】:

您也可以尝试我的方法来实现 Java FX 8 的自定义对话框窗口。两者:源代码与实际使用示例,以及可运行的演示都可以在下面的链接中找到:

https://github.com/bluevoxel/ChooseStage

它的样子是这样的:

【讨论】:

    猜你喜欢
    • 2013-04-11
    • 2016-09-20
    • 1970-01-01
    • 2017-07-15
    • 2015-02-03
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多