请问各位高手,下面这个程序为什么无法关闭模式对话框,而对非模式对话框却可以?import java.awt.*;
import java.awt.event.*;
public class Myframe {
public static void main(String argv[]){
final Frame f1=new Frame();
Button b1=new Button("click");
f1.add(b1);
f1.setVisible(true);
f1.pack();
b1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
final Dialog d=new Dialog(f1,"dialog",false);
d.setSize(100,100);
d.setVisible(true);
d.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt) {
d.setVisible(false);
}
});
}
});
f1.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}
}

解决方案 »

  1.   

    你把模态设置放在事件里面就OK了.我稍改了一下:import java.awt.*;
    import java.awt.event.*;public class Myframe { public static void main(String argv[]) {
    final Frame f1 = new Frame();
    Button b1 = new Button("click");
    f1.add(b1);
    f1.setVisible(true);
    f1.pack();
    b1.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
    final Dialog d = new Dialog(f1, "dialog");
    d.setSize(100, 100);
    d.setVisible(true);
    d.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt) {
    d.setModal(true);
    d.setVisible(false);
    }
    });
    }
    });
    f1.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt) {
    System.exit(0);
    }
    });
    }
    }
               用Jdialog就不会出现这样的问题...............                     对话框窗口关闭事件都不要写了.
      

  2.   

    d.setModal(true); 
    设置模式