[英]show JDialog with animated gif while processing some work in background
我正在尝试创建一个JDialog
,它将显示动画图像,直到后台进程完成为止。 我创建了一个显示动画GIF的JDialog
,但是当我将其放置在实际过程开始之前时,它仅显示空白的JDialog。
这是我的代码:
公共无效createDialog()
{
d = new JDialog();
JLabel l = new JLabel(new ImageIcon(new URL(“ path_of_icon”))));
d.setSize(100,100);
d.add(升);
d.setVisible(真);
d.alwaysOnTop(真);
}//现在如何调用此函数
createDialog();
doBackgroundProcess(); //就像从数据库中获取数据
d.dispose();
谁能告诉我如何显示加载图像而不中断后台进程。 我是否需要使用SwingWorker
或Thread
。
SwingWorker
是您最好的选择 ,因为它将为您管理多个线程。
这是有关它的更多信息http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html
更新:
doInBackground
在单独的(不是UI)线程上执行,通常用于较长的非UI进程。 done
长过程后,完成方法将在UI线程上执行。 因此,在创建SwingWorker
之前创建并显示您的对话框。 done
, SwingWorker
使用SwingWorker
运行后台进程-隐藏对话框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.