【发布时间】:2013-03-09 21:38:12
【问题描述】:
基本上我得到了一个以 main 方法作为入口点的 JFrame。在这个主要方法中,程序必须下载一些图像。
为了通知用户程序将随时启动,我想显示一个简单的对话框。
如果我将对话框设置为模态。我必须在启动程序后关闭它才能触发下载。
如果我将它设置为非模态,它会在下载时显示对话框,但它不是响应式的。该对话框甚至不再绘制我的 JLabel 说“请稍候...”。
//...
public static void main(String args[])
{
java.awt.EventQueue.invokeLater
(
new Runnable()
{
@Override
public void run()
{
ImageLoadingWorker ilw = new ImageLoadingWorker();
ilw.execute();
new MainFrame().setVisible(true);
}
}
);
}
static class ImageLoadingWorker extends SwingWorker<Void, Void>
{
JDialog dialog ;
public ImageLoadingWorker()
{
dialog = new ImageLoadingDialog(null, false);
dialog.setVisible(true);
}
@Override
protected Void doInBackground()
{
ImageLoading.getInstance() ; // download is triggered
return null;
}
@Override
protected void done()
{
dialog.dispose() ;
}
}
//...
【问题讨论】:
标签: java swing swingworker java-web-start