请问各位高手,下面这个程序为什么无法关闭模式对话框,而对非模式对话框却可以?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);
}
});
}
}
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);
}
});
}
}
解决方案 »
- 菜鸟求助 serversock报错 纠结了一个晚上了
- 100分求中文(繁体简体标点符号)在Unicode下的范围(要精确)在JDK1.4下,JDK1.4下
- 有关CLOB的问题:循环多次插入大对象字段的问题,希望用过大对象的朋友能帮助我解决,谢谢!~
- 请问14位的数字字符串能够比较大小么?
- [求助]数组问题
- 新手类的调用基础问题,请各位高人指点。
- 高分求解, 买书问题
- 画图的问题,清高手指点
- java多线程问题
- if you need i can help you to pass ocp,ccnp,scjp,ciw.....
- [求助]"每个 Class 对象都包含一个对定义它的 ClassLoader 的引用。"这句话,谁能写个程序,让我理解一下?
- 我想跑一个许愿墙的例子,需要ajax知识,大家谁有关于ajax的电子书推荐!
改为final Dialog d=new Dialog(f1,"dialog",true);后却关闭不了对话框
import java.awt.event.*;
public class Test3 {
public static void main(String argv[]){
final Frame f1=new Frame();
Button b1=new Button("click");
f1.add(b1);
f1.setSize(400,400);
f1.setVisible(true);
final Dialog d=new Dialog(f1,"dialog",true);
d.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt) {
d.setVisible(false);
}
});
b1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
d.setSize(100,100);
d.setVisible(true);
}
});
f1.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}
}
而addWindowListener不被执行的话,对话框是不会被关闭的。所以你的程序就永远关不了
把addWindowListener放在setVisible之前就行了