建议
fr.addWindowListener(this);
写成
fr.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
这个方法就不要了。
fr.addWindowListener(this);
写成
fr.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
这个方法就不要了。
fr.addWindowListener(this);
this参数出错,this并没有实现WindowListener接口
或者你把这一行去掉看看你上面是两种事件处理模式混在一起了,又想用
基于继承的事件模型和基于授权的事件模型
你想用哪一种。不知道你这是哪里找来的题,我没空给你调试
最好不是老师给你的题目,我会很烦的。
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
//给窗口设置监听器 fr.setSize(400,300); //设定尺寸400*300 fr.setBackground(Color.blue); //设定背景色为蓝色 fr.setVisible(true); //设置可见 } public MyFrame(String s){ super(s); //调用父类构造方法,显示标题栏字符 } }
这样会关不上窗口吗?
//给窗口设置监听器 fr.setSize(400,300); //设定尺寸400*300 fr.setBackground(Color.blue); //设定背景色为蓝色 fr.setVisible(true); //设置可见 } public MyFrame(String s){ super(s); //调用父类构造方法,显示标题栏字符 } public void processWindowEvent(WindowEvent e) { //窗口事件处理方法 super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); //系统退出 } }}这样也可以,要给frame加上
fr.enableEvents(AWTEvent.WINDOW_EVENT_MASK);
没有继承WindowListener接口,如果不用WindowListener接口,就用Adapter