簡體   English   中英

JavaFX UI創建和進度欄更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM