OSレベルのウィンドウではないカスタムダイアログをJavaFXで作成できますか? (これは、アプリケーションウィンドウを出ることができない、メインステージの他のすべての上に表示されるポップアップウィンドウです。)すなわち、Adobe/Apache Flexのスタイルダイアログ。JavaFXでのメインウィンドウ/ステージ内のカスタムダイアログ/ポップアップ
0
A
答えて
1
その実際には非常に簡単で、サードパーティのライブラリを使用する必要なし:
stackpane内とトップの上にルートコンテナがアンカーペイン、ダイアログボックスコントロール(コンテナ/コンテナ+コントロールを作成置く埋め込み)。私はここで何を意味するかを実証するために
は小さなFXMLファイルです:あなたは、それは性質、リスナーに可動することができます
:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
<children>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: black;" />
<AnchorPane prefHeight="200.0" prefWidth="363.0">
<children>
<BorderPane layoutX="84.0" layoutY="123.0" prefHeight="99.0" prefWidth="227.0" style="-fx-background-color: red;">
<center>
<Button mnemonicParsing="false" text="Button" BorderPane.alignment="CENTER" />
</center>
</BorderPane>
</children>
</AnchorPane>
</children>
</StackPane>
ように見えます。それはいくつかの作業芽を行う必要があります。
jewelseaで述べたように、controlsfxには既に実装が必要なものがあります。正しく覚えていれば、ソースコードと動作中のすべてのものを見ることができるcontrolfxサンプルjarも提供しています。その時点からそれを実装するのは本当に些細なことです。新しいバージョンのJavaに更新されたときには、私は過去の制御で問題を抱えていました。
+0
実際に動かす必要はありません。ちょうどそのような静的なコンテナは、トリックを行う必要があります! – User
関連する問題
- 1. JavaFXのウィンドウ内の「x」ボタン
- 2. JavaFX内のオブジェクトの配列
- 3. JavaFX - テキストフィールド/テキストエリア内のインラインイメージ
- 4. Javafxテーブル内の行テーブル
- 5. JavaFXタスク内でJavaFXダイアログを作成する
- 6. JavaFXのListView内のフィルタ項目
- 7. SceneBuilder内のライブラリのようなJavaFXリスト
- 8. JavaFX - 同じハイパーリンク内の複数のフォントサイズ
- 9. javafx-8のキャンバス内部のHoverProperty
- 10. 何-Dcom.sun.javafx.virtualKeyboard = JavaFXの他の値のJavaFXで
- 11. グループ内の中心画像JavaFX
- 12. パブリッククラス内のネストされたJavaFXコントローラ
- 13. 画面内のJavafx中心形状グループ
- 14. JavaFX TableViewの列が内容に合う
- 15. JavaFxペイン内のシーンを作成
- 16. のJavaFX ConcurrentModificationExceptionが(ダイアログ)私のJavaFXアプリケーションで
- 17. JavaFXのテキストツールチップマウスオーバーは、私はJavaFXの内のテキスト要素にツールチップを設定し
- 18. JavaFx描画イメージ内部ペイン
- 19. SwingでのJavaFX
- 20. javafxのTableColumn内のチェックボックスでonclickイベントをトリガする方法
- 21. VBox内のテーブルでスクロールバーを削除する方法(JavaFX)
- 22. JavaFXで選択したテキストフィールドの内容を取得
- 23. JavaFX、矢印キーでGridPane内のノードを移動
- 24. JavaFXのFXMLファイル内でResourceBundleを指定する
- 25. javaFXでグループ内のビューを更新するには?
- 26. 私のアプリケーションでjavafx
- 27. JavaFX WebViewでのキャッシュ
- 28. javafxアラートの「デフォルト」ボタンのCSSセレクタ? javafxの
- 29. のJavaFX:1のTableColumn内の2つの値
- 30. JavaFX - サイズのCSS変数?私のJavaFXのプログラムで
ControlsFXがこの機能を使用していました([軽量のダイアログを参照](http://fxexperience.com/controlsfx/features/dialogs/))。しかし、最近のControlsFXのビルドでは、軽量のダイアログ機能が廃止されました(http://stackoverflow.com/questions/26341152/controlsfx-dialogs-deprecated-for-what)。代わりに、ControlsFXはJavaFXコアAPIに実装されたダイアログのみを使用します。これは自己完結型のステージです。 [ControlsFXの古いブランチソースコード](https://bitbucket.org/controlsfx/controlsfx/branches/)を見直して、元々の軽量ダイアログの実装をどのように達成したかを確認することもできます。 – jewelsea
ControlsFX [軽量ダイアログソース実装](https://bitbucket.org/controlsfx/controlsfx/src/371bca0e905536ca6742d181fdade07258260659/controlsfx/src/main/java/org/controlsfx/dialog/LightweightDialog.java?at=8.0.6_20&fileviewer=file -view-default)(現在サポートされていません)。 – jewelsea