2017-03-05 16 views
0
button.setOnAction(e->{ 
    Platform.runLater(() -> { 
    new Main().start(new Stage());   
    stage.close(); 
    }); 
}); 

ボタンを押して現在のステージを閉じて新しいステージを表示したいが、画面がMacで点滅します。ステージを閉じる代わりに画面を変更する必要がありますか?ありがとうございました!Macでjavafxを点滅させる方法を解決する方法

+0

トピックから外して並べ替えますが、1.イベントハンドラが既にFXアプリケーションスレッド上で呼び出されているので、 'Platform.runLater(...) 'のイベントハンドラにコードをラップすることに意味がありません。 2.自分で 'start(..)'を呼び出すべきではありません(あなたはアプリケーションを起動していません)。それをリファクタリングして、必要な場所にシーンの内容をロードしてから、現在のステージに新しいコンテンツを取り込むか、新しいステージに新しいコンテンツを必要に応じて取り込みます。 –

答えて

0

あなたが実際に達成したいことを教えてくれることなく、試したコードのいくつかの症状を治癒するように頼んだら、このような質問をすることはあまり役に立ちません。特定のボタンをクリックしたときにユーザーに新しいコンテンツを表示することを意図している場合は、ステージを閉じるのが良いアイデアではありません。その目的のためにソフトウェアは通常それを行うことはありません。代わりに、現在のステージの新しいシーン(スクリーンではない)を作成して設定するか、現在のシーンのルートノードを交換します。

+0

これは私の最初の質問であり、あなたの答えに感謝します。私は次回に質問する私の方法を改善すると思う=^_^= – YuLiu

関連する問題