黑马程序员技术交流社区

标题: 一个关于GUI事件的问题 [打印本页]

作者: 奋斗2013    时间: 2013-3-28 19:03
标题: 一个关于GUI事件的问题
本帖最后由 奋斗2013 于 2013-4-6 15:48 编辑

看了一个关于事件监听气的代码:
  textField.addKeyListener(new KeyAdapter(){
       @Override
       public void keyReleased(KeyEvent e){
                   do_textField_keyRelesaed(e);
             }
      });
textField 是文本框,我不明白的是new keyAdapter()是建立一个对象吧,后面又加了{}。这段语句结尾又用“;”。这是什么语句写法。

作者: _王涛    时间: 2013-3-28 19:34
这是GUI编程中匿名内部类的一种写法:
我个人认为 可以访问外部类的私有方法、成员,是匿名内部类的最牛的地方
另外使用匿名内部类你不用费劲脑汁给类起名了,其代码更加简洁,紧凑,但是易读性下降。
一般只在GUI编程中实现事件处理等等

作者: 胡国彬    时间: 2013-3-28 19:38
这是java的匿名内部类.
首先你可以从最外层开始理解,textField.addKeyListener(KeyAdapter的对象);这里要加分号,这是一句完整的语句.
然后,new的对象就是KeyAdapter的对象,只不过你写的这句话是直接在参数里面new了.
再者,就是你说的加{}的问题.这就是匿名内部类,{}里面可以复写这个类的方法.这就是java的语法,不懂的话可以继续问.
作者: 陈丽莉    时间: 2013-3-28 21:48
若还有问题,请继续追问; 没有的话,将帖子分类改成【已解决】哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2