メインアプリケーションのinit
メソッドが呼び出される前に、dialog(Stage)
を表示する最善の方法を知りたいと思います。 initメソッドで実装することはできません。なぜなら、JavaFXアプリケーションスレッドでは実行されないため、startメソッドで実装するときには、プリローダのオプションが失われてしまいます。正しく)。初期化前のjavafxショーダイアログ
eclipseのワークスペースチューザーやlightroomのカタログチューザーのようなものでなければなりません。
私が考えることができる解決策は、2つのプログラム、1つのスターターとメインアプリケーションを作成することですが、同じアプリケーションで発生する可能性がある場合はそれを好むでしょう。そのようにしかできないのであれば、のapp.jarをスターターが起動したのと同じJavaバージョンで起動するにはどうしたらいいですか?(パスに設定されたJavaバージョンでは呼び出さないでください。コマンドライン/端末で異なるバージョンのアプリケーションを起動することができます)。
ご協力いただきありがとうございます。
は、なぜあなたはこれを実行する必要がありますか? 'init()'メソッドは、FXアプリケーションライフサイクルの初期化の一部です。これが完了する前にアプリケーションの一部を実行することはほとんどありません。なぜなら、いつものように 'start()'メソッドでダイアログを表示するだけでなく、ダイアログが閉じられたときに、メインのアプリケーションウィンドウを表示する前に必要な処理は何ですか? –
@James_Dプレローダー/スプラッシュスクリーンのために十分な時間を取っているコードがユーザーの選択の後に起こるので、プレローダーのライフサイクルは 'init()'メソッド中にあるので、ユーザーはプログレスバーが表示されずにメインのアプリケーションステージが表示されるまでには数秒間待ってください。これは、メインステージが表示されるまで、 'start()'メソッドのスプラッシュ画面を示す進捗状況としてプリローダーを必要とせず、装飾レスダイアログを開くことを意味しますか? – Scourge
プリロード機構を使うだけでいいです。'start()'メソッドのプログレスバーを表示するスプラッシュ画面を表示するのは簡単ですが(バックグラウンドスレッドのタスクで時間がかかることを何でもしてください)、完了したらメイン画面を表示してください。 –