事件和监听器:
Java事件由事件类和监听接口组成,自定义一个事件前,必须提供一个事件的监听接口以及一个事件类。JAVA中监听接口是继承java.util.EventListener的类,事件类继承java.util.EventObject的类。很多基本的事件系统已经为我们定义好了,我们只要学会调用即可,但是为了更加灵活地满足特定的需求,我们有时候也需要自定义事件。
Java事件监听器属性的新增、删除和修改划分成三种,分别针对于ServletContext、HttpSession、ServletRequest对象。Java事件监听器属性的新增、删除和修改划分成三种,分别针对于ServletContext、HttpSession、ServletRequest对象。
窗口事件
Window Listener是专门处理窗口事件的监听接口,一个窗体的所有变化,如窗口打开,关闭都可以使用这个接口进行监听。
WindowListener接口所有方法
1.public void windowClosed(WindowEvent e){}
窗口被完全关闭时调用的方法
2. public void windowDeactivated(WindowEvent e){}
窗口失去活性时调用的方法
3.public void windowActivated(WindowEvent e){}
窗口被完全激活时调用的方法
4. public void windowIconified(WindowEvent e){}
窗口被最小化时调用的方法
5. public void windowDeiconified(WindowEvent e){}
窗口被从最小化还原时调用的方法
6. public void windowOpened(WindowEvent e){}
窗口被完全激活时调用的方法
7.public void windowClosing(WindowEvent e){}
窗口的关闭按钮被点击时调用的方法
其次单单只有一个监听器是不够的,还需要在组件使用时使用注册监听,这样才可以处理,直接使用窗体的addWindowListenter(监听对象)方法既可以注册事件监听。
监听适配器:
用来监听指定的事件类型,各种各类型的组件都可以产生不同的事件对象,这些事件对象由指定的监听器捕获,并调用指定事件类型的处理方法来处理
监听器中有很多方法,但是有时我们只用到它其中的一种方法,其他方法并没有用到,这样给代码编写工作增加负担,而且添加了无用的程序代码,增加代码阅读复杂性,
解决问体的最好办法就是使用适配器。
动作事件及监听处理:
一个要想让按钮变得有意义,就必须使用事件处理。在Swing的事件处理中,可以使用Action Listener接口处理按钮的动作事件,Action Listener接口只定义了一个方法.
void actionPerformed(ActionEvent e) 发生操作时调用
键盘事件及监听处理:
接口 KeyListener
用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。
然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它
void keyPressed(KeyEvent e)
按下某个键时调用此方法。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。
void keyTyped(KeyEvent e)
键入某个键时调用此方法。
鼠标事件及监听处理:
鼠标监听器MouseListener
监听鼠标事件MouseEvent。
相应事件和处理方法
鼠标事件 处理方法
MOUSE_CLICKED MouseClicked (MouseEvent) 鼠标点击(单或双)
MOUSE_PRESSED MousePressed (MouseEvent) 鼠标按下
MOUSE_RELEASED MouseReleased(MouseEvent) 鼠标松开
MOUSE_ENTERED MouseEntered (MouseEvent) 鼠标进入(某组件区域)
MOUSE_EXITED MouseExited (MouseEvent) 鼠标离开(某组件区域)
鼠标事件MouseEvent常用方法
int getClickCount() 得到点击次数1 OR 2;
int getX(), int getY() 得到鼠标的(象素)位置。
鼠标监听器MouseMotionListener
对于鼠标的移动和拖放,另外用鼠标运动监听器MouseMotionListener。
因为许多程序不需要监听鼠标运动,把两者分开可简化程序。
相应事件和处理方法
鼠标事件 处理方法
MOUSE_MOVED MouseMoved (MouseEvent) 鼠标在移动
MOUSE_DRAGGED MouseDragged(MouseEvent) 鼠标被拖动
单选按钮和复选框
选择框:
选择框(JCheckBox)的选中与否开状是一个小方框,被选中则在框中打勾。当在一个容器中有多个选择框,同时可以有多个选择框被选中,这样的选择框也称复选框。与选择框相关的接口是ItemListener,事件类是ItemEvent。
###JCheckBox类常用的构造方法有以下3个:
JCheckBox():用空标题构造选择框。
JCheckBox(String s):用给定的标题s构造选择框。
JCheckBox(String s, boolean b):用给定的标题s构造选择框,参数b设置选中与否的初始状态。
###JCheckBox类的其他常用方法如下:
getState():获取选择框的状态。
setState(boolean b):设置选择框的状态
getLabel():获取选择框的标题。
setLabel(String s):设置选择框的标题。
isSelected():获取选择框是否被选中的状态。
itemStateChanged(ItemEvent e):处理选择框事件的接口方法。
getItemSelectable():获取可选项,获取事件源。
addItemListener(ItemListener l):为选择框设定监视器。
removeItemListener(ItemListener l):移去选择框的监视器。
单选按钮:
单选按钮(JRadioButton)的功能与单选框相似。使用单选按钮的方法是将一些单选按钮用ButtonGroup对象分组,使同一组的单选按钮只允许有一个被选中。单选按钮与单选框的差异是显示的样式不同,单选按钮是一个圆形的按钮,单选框是一个小方框。
###JRadioButton类的常用构造方法有以下几个:
JRadioButton():用空标题构造单选按钮。
JRadioButton(String s):用给定的标题s构造单选按钮。
JRadioButton(String s,boolean b):用给定的标题s构造单选按钮,参数b设置选中与否的初始状态。
单选按钮使用时需要使用ButtonGroup将单选按钮分组,单选按钮的分组方法是先创建对象,然后将同组的单选按钮添加到同一个ButtonGroup对象中。参见例6.2程序的子类panel1的声明,组内有3个单选按钮。
选择项目事件处理:
用户对选择框或单选按钮做出选择后,程序应对这个选择作出必要的响应,程序为此要处理选择项目事件。选择项目处理程序的基本内容有:
监视选择项目对象的类要实现接口ItemListener,
程序要声明和建立选择对象,
为选择对象注册监视器,
编写处理选择项目事件的接口方法itemStateChanged(ItemEvent e),在该方法内用getItemSelectable()方法获取事件源,并作相应处理。