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