zoukankan      html  css  js  c++  java
  • Java学习笔记(二)事件监听器

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

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

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

    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()方法,获取的是对象,可以使用==表达式直接判断对象,例如

        Object source = event.getSource();
        if(source == button1){
            //...
        }

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

        button1.setActionCommand("trig1");

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

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

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


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

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

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

    class KeyMonitor extends KeyAdapter{
        public void keyTyped(KeyEvent event){
            //...
        }
    }


  • 相关阅读:
    将java库转换为.net库(转载)
    web sql设计器(连接)
    [SQLSERVER]SQL中的全文检索(转邹建)
    网络最经典命令行-网络安全工作者的必杀技
    无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
    06毕业设计 VB导出Excel文档
    06毕业设计 VB导出word文档
    C# 交替显示项的DataGird,鼠标上移时转变颜色,退出后能恢复原来颜色
    js.offsetParent属性
    自动提醒IE6访客升级浏览器,
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154269.html
Copyright © 2011-2022 走看看