我有一个JDialg用于显示某个任务的进度。要显示和隐藏对话框我有以下方法,从线程关闭JDialog框
public class ProgressDisplayer extends javax.swing.JDialog {
......
public void s_show() {
this.setTitle("Month End Status");
setModal(true);
setResizable(false);
pack();
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public void s_hide() {
this.dispose();
}
...........
}
当我尝试从如下线程关闭此的JDialog框,虽然显示正常但我不能隐藏它,当我打电话pd.s_hide()
方法。
...........
public void run() {
ProgressDisplayer pd = new ProgressDisplayer();
pd.s_show();
Thread.sleep(1000);
pd.s_hide();
}
.............
请帮助我。
*“当......从一个线程..不隐藏。”*您是否确认,当它从线程中调用** not **时它会正确隐藏?看起来像一个'setVisible(false);'不会误入歧途。 –