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

我想按下按鈕,然後關閉當前舞臺並顯示一個新的舞臺,但屏幕會在mac上閃爍。我應該改變屏幕而不是關閉階段嗎?我想請求幫助謝謝!如何解決macf上的javafx閃爍屏幕

+0

排序偏離主題,但1.因爲事件處理程序已在FX應用程序線程上調用,在'Platform.runLater(...)'中的事件處理程序中包裝代碼沒有意義。 2.你不應該自己調用'start(..)'(你沒有啓動應用程序)。重構它,以便您可以隨時隨地加載場景內容,然後根據需要使用新內容填充當前舞臺或使用新內容填充新舞臺。 –

回答

0

問這樣的問題並不是很有幫助,你只要求我們治癒一些你已經嘗試過的代碼的某些症狀,而不告訴我們你實際上想要達到什麼。如果您的目的是在點擊某個按鈕時向用戶顯示一些新內容,那麼關閉舞臺肯定不是一個好主意。通常沒有軟件會這樣做。相反,爲當前舞臺創建並設置一個新的場景(不是屏幕),或者只交換當前場景的根節點。

+0

這是我第一次提出問題,謝謝你的回答。我想我會改善我下次提問的方式=^_^= – YuLiu