2013-01-05 157 views
6

我需要在JavaFX中創建一個對話框。我知道我可以通過修改模式,所有者和可調整大小的屬性來使舞臺像對話框一樣行爲。如何創建JavaFX對話框?

但是,如何從舞臺窗口中隱藏「最小化」和「最大化」按鈕?典型的對話框只有「關閉」按鈕。

+0

這也許[線索] [1]將解決你的問題。 [1]:http://stackoverflow.com/questions/12912638/how-can-i-remove-only-the-minimise-button-from-stage-components-and-how-can-我 – AsirC

回答

20

在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有一些沙箱對話框的最小第三方文檔,包括基本用法示例以及對話框部分到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

相關問題

+0

謝謝!這非常好! – ceklock

+0

編輯您的代碼以使其更完整。 – ceklock

+0

@jewelsea,去你的網站。是否有針對圖書館的彈出窗口或jar的代碼的下載鏈接?我下載了很大的整個項目 - 只需要對話框。還有如何使用對話框的例子將大大幫助 – likejiujitsu

0

你也可以試試我的方法來對Java FX 8,無論是自定義對話框:與實際使用示例源代碼,並可以運行演示是可在以下鏈接中查到:

https://github.com/bluevoxel/ChooseStage

這怎麼它看起來像:

enter image description here