Java学习笔记(二)事件监听器

    Java实现对组件事件(如单击、输入等)的监听和JavaScript类似,都是先添加Listener,再写触发函数,不同的是,Java实现监听前必须使用implements将各个接口添加到类内。

    相关的库为java.awt.event.*

    例如要添加行为事件的接口ActionListener,则需要在实现窗口的类内作如下操作:

1
2
3
4
5
6
7
8
9
public  class  Test  extends  JFrame  implements  ActionListener{
     public  Test(){
         //...
     }
     
     public  void  actionPerformed(ActionEvent event){
         //...
     }    
}

    注意只要添加了ActionListener接口,并且Test不是抽象类,则必须加入相应的触发函数,这里加入的为actionPerfomed。

    以处理按键单击为例,具体步骤如下:

    ①添加ActionListener接口

    ②在相应的类内写触发函数actionPerformed(ActionEvent event)

    ③对按钮(设为button1)添加监听器:button1.addActionListener(this)

    ④将按钮加入容器

    ⑤在触发函数内,判断触发对象,有两种方法

      第一种,使用event的getSource()方法,获取的是对象,可以使用==表达式直接判断对象,例如

1
2
3
4
     Object source = event.getSource();
     if (source == button1){
         //...
     }

      第二种,事先在添加监听器前设定行为命令,例如先对button1添加动作命令"trig1"

1
     button1.setActionCommand( "trig1" );

      在触发函数内,使用getActionCommand()方法来获取行为命令:

1
2
3
     if (event.getActionCommand() ==  "trig1" ){
         //...
     }

      第二种用法多用在一些多个组件触发相同的动作时,例如退出程序功能,可能同时存在于菜单和工具栏,他们可以使用同样的命令,来简化代码。


      对于其他的监听,与此类似,不再赘述,需要注意的是,一定要先添加组件的各种属性,再将其放入容器,否则设置会被忽略。

      对于窗口的监听,有大量的方法,如果像上面那样使用,则会产生很多空方法,为了避免这一点,可以采用适配器类来监听。可以在原来的类的下面再创建一个类,继承响应的适配器。

      例如下面的键盘监听,添加一个类继承KeyAdapter来实现监听,对于需要的触发函数,覆盖即可

1
2
3
4
5
class  KeyMonitor  extends  KeyAdapter{
     public  void  keyTyped(KeyEvent event){
         //...
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值