Stackoverflow の質問用に作成されたこのJavaFX スプラッシュ サンプルを試してください:スプラッシュ スクリーンの設計 (java)。また、アプリケーションの初期化の進行状況のフィードバックも提供 するフォローアップ サンプル。
JavaFX は、スプラッシュからアプリケーションへのスムーズな転送のためにPreloaderインターフェースを提供しますが、上記のサンプルではそれを利用していません。
上記のスプラッシュ サンプルも透過効果を行いませんが、このダイアログ サンプルはその方法を示しており、前のスプラッシュ サンプルと組み合わせて必要な効果を得ることができます。
透明効果は次の方法で作成されます。
stage.initStyle(StageStyle.TRANSPARENT)
.
scene.setFill(Color.TRANSPARENT)
.
- ルート ノードが不透明な四角形でないことを確認します。
これはすべて、Sergey のサンプルで実証されています。
関連する質問:
追加の質問に基づいて 2016 年 4 月に更新
プリローダーの画像はフォアグラウンドにありません。stage.toFront() を試しましたが、役に立ちません。
Java 8u20 stage.setAlwaysOnTop(true)で新しい API が作成されました。リンクされたサンプルを更新して、最初のスプラッシュ画面でこれを使用するようにしました。これにより、メイン画面への移行がスムーズになります。
Java8+ の場合
modena.css (Java 8 のデフォルトの JavaFX ルック アンド フィール定義) では、すべてのコントロール (およびコントロールが読み込まれている場合はペイン) に、わずかに影付きの背景が導入されました。
これを削除するには、デフォルトの背景を透明に指定します。これは、アプリケーションの CSS ファイルに次の行を追加することで実行できます。
.root { -fx-background-color: transparent; }
必要に応じて、CSS スタイル クラスとルール、または setStyle 呼び出し (Sergey の回答に示されているように) を使用して、設定がすべてのアプリ画面ではなくスプラッシュ画面のルートにのみ適用されるようにすることができます。
関連参照: