web-dev-qa-db-ja.com

JavaFXダイアログを作成する方法は?

JavaFXでダイアログを作成する必要があります。モーダル、所​​有者、およびサイズ変更可能なプロパティを変更することで、ステージをダイアログのように動作させることができることを知っています。

しかし、ステージウィンドウから「最小化」ボタンと「最大化」ボタンを非表示にするにはどうすればよいですか?通常のダイアログには「閉じる」ボタンしかありません。

7
ceklock

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サンドボックスは私が作成したものではなく、私のサイトでホストされていません(ソースはOracleによってホストされています)。 I サンドボックスダイアログAPIを文書化するようにOracleに要求しました 。必要に応じて、リクエストに投票したりコメントしたりできます。

Makeryのブログ サンドボックスダイアログの最小限のサードパーティドキュメントがあります。これには、基本的な使用例や、ダイアログ部分のJavaFX2.2へのバックポートが含まれます。

更新

JavaFX UIサンドボックスは ControlsFXプロジェクト に置き換えられました。

更新

Java 8u40にはJavaFXダイアログが含まれます コアプラットフォームAPIに組み込まれています。 Java8u40の早期アクセスリリース を試すことができます。関連するクラスはjavafx.scene.control.Dialogであり、javafx.scene.control.Alertなどの関連するサブクラスです(Alertクラスは、SwingのJOptionPaneクラスに類似した標準ダイアログを表示するためのものです。したがって、JOptionPaneを使用する必要はありません。すぐに使用できる標準のダイアログ機能)。

Makeryは、Java 8u4 で提供されるダイアログ機能の新しいブログチュートリアルを作成しました。

関連する質問

23
jewelsea

Java FX 8のカスタムダイアログウィンドウへの私のアプローチを試すこともできます。両方:実用例のあるソースコードと実行可能なデモは、以下のリンクから入手できます。

https://github.com/bluevoxel/ChooseStage

そして、それはどのように見えるかです:

enter image description here

1
bluevoxel