比如;我在程序中,如何让//1建立的对话框在关闭后,才执行//2?现在这个程序在//1对话框弹出后.//2马上就执行了,不想这样 public JButton getAddModuleButton() {
if (null == addModuleButton) {
addModuleButton = new JButton("添加新采集点");
addModuleButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {
AddNewModuleDialog dlg = new AddNewModuleDialog(
ModuleManagementDialog.this);//1
bindModuleTable();//2
} });
}
return addModuleButton;
}

解决方案 »

  1.   

    模态对话框,线程自动阻塞
    dlg.setModal(true);
      

  2.   

    给AddNewModuleDialog指定父窗体,并设置成模态。
      

  3.   

    AddNewModuleDialog窗体的基类改为JDialog吧,构造函数改为
        public AddNewModuleDialog(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            ...
        }
    调用方法改为
    AddNewModuleDialog dialog = new AddNewModuleDialog(this, true);