繁体   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