事件和监听器
在Swing编程中,依然使用了最早AWT的事件处理方式,所有的事件类(基本上任意的一个组件都有对应的事件)都是EventObject类的子类。
EventObject类的定义格式如下
public class EventObject extends Object implements Serializable{ public EventObject(Object source){ //构造一个发生事件的对象
}
public Object getSource(){ //返回一个事件对象
}
public Object toString(){ //得到信息
}
}
在这个类中定义了3个方法,其中可以通过getSource()取得发生此事件的源对象
窗体事件
方法 | 类型 | 描述 |
void window Activated(WindowEvent e) | 普通 | 将窗口变为活动窗口时触发 |
void windowDeactivated(WindowEvent e) | 普通 | 将窗口变为不活动时触发 |
void windowClosed(WindowEvent e) | 普通 | 当窗口被关闭时触发 |
void windowClosing(WindowEvent e) | 普通 | 当窗口正常关闭时触发 |
void windowIconsing(WindowEvent e) | 普通 | 窗口最小时触发 |
void windowDeiconified(WindowEvent e) | 普通 | 窗口从最小化恢复到正常状态时触发 |
void windowOpened(WindowEvent e) | 普通 | 窗口打开时触发 |
鼠标事件指与鼠标相关的事件,继承了MouseEvent接口。具体的事件主要有以下一些
click:按下鼠标(通常是按下主按钮)时触发。
dblclick:在同一个元素上双击鼠标时触发。
mousedown:按下鼠标键时触发。
mouseup:释放按下的鼠标键时触发。
mousemove:当鼠标在一个节点内部移动时触发。当鼠标持续移动时,该事件会连续触发。为了避免性能问题,建议对该事件的监听函数做一些限定,比如限定一段时间内只能运行一次。
mouseenter:鼠标进入一个节点时触发,进入子节点不会触发这个事件(详见后文)。
mouseover:鼠标进入一个节点时触发,进入子节点会再一次触发这个事件(详见后文)。
mouseout:鼠标离开一个节点时触发,离开父节点也会触发这个事件(详见后文)。
mouseleave:鼠标离开一个节点时触发,离开父节点不会触发这个事件(详见后文)。
contextmenu:按下鼠标右键时(上下文菜单出现前)触发,或者按下“上下文菜单键”时触发。
wheel:滚动鼠标的滚轮时触发,该事件继承的是WheelEvent接口。
MouseEvent 接口概述
1.MouseEvent接口代表了鼠标相关的事件,单击(click)、双击(dblclick)、松开鼠标键(mouseup)、按下鼠标键(mousedown)等动作,所产生的事件对象都是MouseEvent实例。此外,滚轮事件和拖拉事件也是MouseEvent实例。
2.MouseEvent接口继承了Event接口,所以拥有Event的所有属性和方法。它还有自己的属性和方法。
3.浏览器原生提供一个MouseEvent构造函数,用于新建一个MouseEvent实例。
varevent = newMouseEvent(type, options);
JCheckBox类的其他常用方法如下:
getState():获取选择框的状态。
setState(boolean b):设置选择框的状态
getLabel():获取选择框的标题。
setLabel(String s):设置选择框的标题。
isSelected():获取选择框是否被选中的状态。
itemStateChanged(ItemEvent e):处理选择框事件的接口方法。
getItemSelectable():获取可选项,获取事件源。
addItemListener(ItemListener l):为选择框设定监视器。
removeItemListener(ItemListener l):移去选择框的监视器。
方法 | 类型 | 描述 |
public JCheckBox(Icon icon) | 构造 | 创建一个带图标的对象,但不选定 |
public JCheckBox(Icon icon,boolean selected) | 构造 | 创建一个带图标的对象,并指定其是否选项 |
public JCheckBox(String text) | 构造 | 创建一个带文本的对象,但不选定 |
public JCheckBox(String text,boolean selected) | 构造 | 创建一个带文本的对象,并指定其是否选定 |
public JCheckBox(String text,Icon icon,boolean selected) | 构造 | 创建一个带文本和图标的对象,并指定其是否被选定 |