-1
如何等待JavaFx轉換結束?等待轉換結束
- 我有一個交互式排序算法。
- 每個數字都用矩形表示。
- 當兩個數字交換時,矩形必須交換。
問題是動畫持續時間是1秒,在這個時候整個數組已經排序。我已經做了一個交換矩形的同步方法。但是當它使「transition.play();」
我認爲轉換正在另一個線程中運行,所以它必須等到轉換結束才結束該方法。
你有什麼想法嗎?
如何等待JavaFx轉換結束?等待轉換結束
問題是動畫持續時間是1秒,在這個時候整個數組已經排序。我已經做了一個交換矩形的同步方法。但是當它使「transition.play();」
我認爲轉換正在另一個線程中運行,所以它必須等到轉換結束才結束該方法。
你有什麼想法嗎?
這取決於你如何排序數組。如果您可以一步一步對其進行排序,然後執行排序的一個步驟,然後開始一個動畫。既然你知道持續時間是1秒,就睡1秒鐘,然後再進行一步。繼續,直到整個數組排序。
如果JavaFx允許您在動畫完成時接收回調,請監聽回調以瞭解何時可以開始排序的下一步。
如果我睡了1秒,用戶界面凍結。 – 2013-04-21 15:24:59
好的,動畫結束後JavaFx會如何讓你知道? (我從來沒有用過)。睡覺不起作用,所以只需讓控件回到UI框架,然後迴應關於動畫的回調。這肯定會是一個異步的,回調驅動的設計。 – 2013-04-21 15:28:49
了JavaFx讓我做這樣的事情:timeline2.setOnFinished(新的EventHandler(){ @覆蓋 公共無效手柄(ActionEvent的動作事件){ setRectangleFill(rectangle2,Color.BLACK); rectangle2.setX(rectangle1X); } }); –
2013-04-21 15:31:57