JAVA界面事件处理

下面总结一下关于JAVA事件处理机制。

JAVA是通过授权处理机制来对事件进行处理,那么授权处理机制是什么意思呢?


一、首先要理解几个重要的概念:

1、事件源。能够产生事件的对象都称为事件源,也就是JAVA认为能够发生事件的对象。如按钮(JButton button)、文本区(JTextArea textarea)、下拉式列表等。

2、事件。事件源能产生特定的事件,如按钮会产生ActionEvent事件等。JAVA定义了很多种事件,命名为XXXEvent。其实所谓的事件就是我们在界面上对组件的处理。

3、监视器。监视器用来对事件源进行监听,以便对事件源发生的事件做出处理。什么是监视器呢?只要一个对象(实际上这里是一个类)实现了监视器接口就能成为监视器。例如事件源所在的容器对象(类),或者其他任何对象(类),一旦实现了事件监视器接口,该类就会自动增加一个事件处理方法,然后我们把事件处理的代码加入其中就可以了。


事件源发生事件以后,监视器代替事件源对发生的事件进行处理,这就是JAVA事件授权处理机制。


JAVA事件处理过程如下

当事件源发生事件时,监视器会自动调用被实现的接口方法,对事件处理的代码就可以放置在该方法中。


二、常用组件(就是应用程序界面我们看到的组成元素,例如按钮、菜单、下拉列表等)事件处理

1、事件源:JButton(单击)

       事件   :ActionEvent事件

       监视器接口:ActionListener

       接口方法:void actionPerformed(ActionEvent e)

       事件源对象添加监视器对象方法:事件源对象.addActionListener(监视器对象)


2、事件源:JTextArea

       事件   :DocumentEvent事件

       监视器接口:DocumentListener

       接口方法:void changedUpdate(DocumentEvent e)

                           void insertUpdate(DocumentEvent e)

                           void removeUpdate(DocumentEvent e)

       事件源对象添加监视器对象方法:事件源对象.getDocument.addDocumentListener(监视器对象)


3、事件源:JRadioButton

       事件   :ItemEvent事件

       监视器接口:ItemListener

       接口方法:void itemStateChanged(ItemEvent e)

       事件源对象添加监视器对象方法:事件源对象.addItemListener(监视器对象)


4、事件源:JTree

       事件   :TreeSelectionEvent事件

       监视器接口:TreeSelectionListener

       接口方法:void valueChanged(TreeSelctionEvent e)

       事件源对象添加监视器对象方法:事件源对象.addTreeSelectionListener(监视器对象)

三、鼠标事件处理

当鼠标进入/退出组件、在组件上单击及拖动鼠标时,会发生鼠标事件。上面的事件处理适用于特定的组件,而该事件处理在任何组件上都可以发生,即事件源可以是任何组件,只要添加监视器对象即可。

       事件源:任何组件

       事件   :MouseEvent事件

       监视器接口:MouseListener

       接口方法:mousePressed(MouseEvent e)

                           mouseReleased(MouseEvent e)

                           mouseEntered(MouseEvent e)

                           mouseExited(MouseEvent e)

                           mouseClicked(MouseEvent e)

       事件源对象添加监视器对象方法:事件源对象.addMouseListener(监视器对象)


另外,当在事件源上拖动鼠标指针或者在事件源上移动鼠标指针时,可以通过MouseMotionListener接口来对事件进行处理。

       事件:MouseEvent

       接口:MouseMotionListener

       接口方法:mouseDragged(MouseEvent)

                           mouseMoved(MouseEvent)

      添加监视器:事件源.addMouseMotionListener(监视器对象)。


四、键盘事件处理

键盘事件发生在按下、释放或者敲击键盘时。当一个组件处于激活状态时,敲击键盘上的键就发生键盘事件。

       事件:KeyEvent事件

       接口:KeyListener

       接口方法:void keyPressed(KeyEvent e)

                           void keyTyped(KeyEvent e)

                           void keyReleased(KeyEvent e)

       添加监视器:事件源.addKeyListener(监视器对象)


五、窗体事件

Window类子类所创建的对象都可以发生WindowEvent类型窗体事件。当一个窗体被激活、撤销激活、打开、关闭或撤销图标化时,就会发生窗体事件。

       事件源:JFrame

       事件:WindowEvent事件

       监视器接口:WindowListener

       添加监视器:事件源.addWindowListener(监视器对象)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值