【发布时间】:2014-08-21 05:16:14
【问题描述】:
我有一个使用 JPA 的 J2SE 项目。在某些 JDialogs 中,我确实返回 getResultList() 并在类的构造函数中填充 JTable、JComboBox、JList 等。
所以当我为这些对话框创建任何实例时有时会很慢。
我认为使用 SwingWorker 和 JProgressbar 并创建一个(加载)来打开 JDialogs 是一个很好的解决方案,但我不知道该怎么做。
我正在尝试这个。
//
JProgressbar progress = new JProgressBar();
//custommer dialog
JDialog custommer = new JDialog(); //here slow because I have List<Customer> and others lists
custommer.setModal(true);
private void openDialogs(JDialog dialog){
progress.setVisible(true);
progress.setIndeterminate(true);
SwingWorker sw = new SwingWorker(){
protected Object doInBackground(){
//opening dialog
dialog.setVisible(true);
return null;
}
}
//after opened
protected void done(){
progress.setVisible(false);
}
}
如何打开 JDialog 并创建加载以使用 SwingWorker 和 JProgressbar 打开?
【问题讨论】:
-
在设置对话框可见之前,您需要启动
SwingWorker... -
@MadProgrammer 怎么样?
标签: java swing jdialog swingworker jprogressbar