黑马程序员技术交流社区
标题:
java窗体关闭事件
[打印本页]
作者:
孔德智
时间:
2012-9-5 11:23
标题:
java窗体关闭事件
本帖最后由 孔德智 于 2012-9-5 13:26 编辑
让窗口上的X具备关闭的功能
Frame f = new Frame( );
f. addWindowListener(new esc( ) );
class esc extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
system.exit(0);
}
}
原方法代码是
addWindowListener
(
WindowListener
l)
为什么上面的重新复写代码 f. addWindowListener(new esc( ) ); 括号内的参数了 l 没有了
作者:
彭润生
时间:
2012-9-5 11:37
f. addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});建议楼主这样写代码吧,这只用了一次,用匿名内部类比较方便。
还有要设置窗口的可见性,才能关闭。f.setVisible(ture);设置可见;
作者:
寇龙飞
时间:
2012-9-5 13:17
本帖最后由 寇龙飞 于 2012-9-5 13:21 编辑
addWindowListener(WindowListener l) ;
复制代码
方法定义时,参数列表中I为形参,WindowListener 为变量I的类型。
f. addWindowListener(new esc( ) );
复制代码
调用函数时,要给函数参数列表赋给实际参数,new esc( ) 就是实际参数,特别的是new esc( )是匿名的实际参数。为了便于你理解,可以写为:
WindowListener wl = new esc( );
f. addWindowListener(wl);
复制代码
有其它问题就再问吧,我先只说这么多。
总结一下,你问的问题就是函数问题,形式参数、实际参数,毕老师函数那块视频讲的比较简单,当时看可能懂了,用起来就费解了。回头去看下基础。
作者:
孔德智
时间:
2012-9-5 13:25
寇龙飞 发表于 2012-9-5 13:17
方法定义时,参数列表中I为形参,WindowListener 为变量I的类型。调用函数时,要给函数参数列表赋给实际参 ...
谢谢你,真的懂了
作者:
AngieFans85
时间:
2012-9-5 13:31
"原方法代码是addWindowListener(WindowListener l)
为什么上面的重新复写代码 f. addWindowListener(new esc( ) ); 括号内的参数了 l 没有了 "
WindowListener是一个接口,意思是在调用addWindowListener(WindowListener l)方法时要求传入一个实现了WindowListener接口的一个类的对象(也可以使用内部类来达到同样效果),该对象所属的类要求必要实现WindowListener接口定义的所有抽象方法(其实这是废话,接口定义的方法只能是抽象方法,呵呵.).
你的esc类继承自WindowAdapter类,而WindowAdapter类实现了WindowListener接口中的所有方法(其实只是空实现,所有的方法体中没有任何代码.).所以当你的esc类继承WindowAdapter类时,你只要重写WindowAdapter类的windowClosing()方法就可以达到"点右上角的关闭按钮"就触发关闭窗口的事件,这个事件该做什么动作,就看你在重写windowClosing()方法时,在方法体中怎么写代码了.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2