[英]JavaFX UI creation & Progress bar Update
我這里有一個相當棘手的問題。
我有的 :
我目前正在制作一個JavaFX應用程序,該應用程序在屏幕上呈現一個圖形(具有許多節點和邊緣)。 我可以使用Graphiz庫構造圖形,並且在屏幕上可以正常顯示。 但是圖形渲染可能會花費一些時間,因為我的圖形可以包含> 1000+個節點,並且在屏幕上繪制它們的速度很慢。 這是我的代碼
protected synchronized void layoutWithGraphviz() {
if (listener == null)
listener = new LayoutResultListener();
Utils.CreateGraphLayout(this,
listener);
}
現在,我的LayoutResultListener()
是一個偵聽器,可確保視圖上的頂點彼此不重疊/看起來不錯,因此,如果不重疊,則可以重畫圖形。 所有這一切都完美。
我需要的 :
我想要一個進度條來顯示我的整體進度。 現在,由於我不確定我的LayoutResultLisener()將被調用多少次,所以我可以使用不確定的進度條來確定。 但是,棘手的是我無法將UI創建部分委托給后台線程,因為JavaFX不允許這樣做。 我在這里看到它以及JavaFX中的並發性
所以我不知道該怎么辦,我不能將UI創建委托給后台線程。 那么我如何顯示進度欄? 任何想法 ?
嘗試將您的UI創建代碼包裝在其中:
Platform.runLater(new Runnable(){
@Override
public void run() {
//your JAVAFX UI codes
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.