java为什么不让DialogWait框自动关闭?
所以我想在调用wait1.close()
时关闭这个对话框,但它不会消失。我必须手动点击“X”按钮来关闭它,让程序进入下一步。有什么建议吗?我能够实现一个对话框,就像我之前的代码中一样,但由于某种原因,这个实现在这里不起作用。谢谢
这就是它被使用的地方
final ArrayList<ArrayList<Booking>> allAvailablePaths1 =allAvailablePaths;
DialogWait wait1=new DialogWait();
SwingWorker<Void,Void> mySwingWorker1=new SwingWorker<Void, Void>(){
@Override
protected Void doInBackground() throws Exception{
sort(x,allAvailablePaths1, paths);
wait1.close();
System.out.println("This line is printed");
return null;
}
};
mySwingWorker1.execute();
wait1.makeWait("Thank You For Your Patience");
return paths;
}
这是我的对话课
import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class DialogWait {
private JDialog dialog;
public void makeWait(String msg) {
JFrame frame=new JFrame();
dialog = new JDialog(frame, msg, Dialog.ModalityType.APPLICATION_MODAL);
JProgressBar progressBar = new JProgressBar();
progressBar.setIndeterminate(true);
JPanel panel = new JPanel(new BorderLayout(100,20));
panel.add(progressBar, BorderLayout.CENTER);
panel.add(new JLabel("Please wait......."), BorderLayout.PAGE_START);
dialog.add(panel);
dialog.pack();
dialog.setLocationRelativeTo(frame);
dialog.setVisible(true);
}
public void close() {
dialog.dispose();
}
}
共 (0) 个答案