事件处理 (2)
辽宁经济职业技术学院信息系
硕士、副教授 陈英
AWT事件类继承关系图
Event
对象
AWT
事件
Action
事件
Adjustment
事件
Component
事件
Item
事件
Text
事件
Container
事件
Focus
事件
Input
事件
Paint
事件
Window
事件
Key
事件
Mouse
事件
AWT中的语义事件和低级事件
1,语义事件:
ActionListener( 对应按钮点击、菜单选择等)
AdujstmentEvent(用户调整一个滚动条)
ItemEvent(用户从一组选择框或者列表项中选择一个 )
TextEvent(文本域或者文本框中内容发生改变 )
2,低级事件:
ComponentEvent(组件被缩放、移动、显示或者隐藏)
KeyEvent(一个键或者释放 )
MouseEvent鼠标 (鼠标按钮按下、释放,鼠标移动或拖动 )
FoucsEvent(组件得到焦点或者失去焦点 )
WindowEvent(窗口被激活、减活、图标化、还原或者关
闭)
ContainerEvent(添加 /删除一个组件 )
焦点
设当前活动窗口在一个 Java程序控制之下,那么
Java窗口接收击键,并且把它们定向到一个特定
的组件,把那个特定组件称作焦点。
同一时刻,一个窗口最多只能有一组件得到焦点。
如果用户选择另一个组件,那么前一个组件就会
失去焦点,而第二个组件则得到焦点。
得到焦点的方式有两个:
1) 用户使用鼠标点击该组件。
2) 用户使用 TAB键精来在各个组件间轮流切换焦点。
默认情况下,Swing组件按照从左至右,从上至
下的顺序遍历。
事件的分类
Event
HandleEvent()
MouseUp()
MouseDown()
MouseDrag()
MouseMove()
MouseEnter()
MouseExit()
keyDown()
KeyUp()
action()
焦点事件
一个焦点监听器必须实现两个方法:
1) focusGained方法
2) focusLost方法
当事件源得到或失去焦点时,这些方法
将被触发。
键盘事件
当用户按下键盘上一个键时,一个
KEY_PRESSED KeyEvent(键盘事件)就
会产生。
当用户释放该键时,一个 KEY_RELEASE
KeyEvent就会产生。
可以通过实现 KeyListener接口中的
keyPressed或者 keyReleased方法来捕获这些
事件。
keyTyped 方法用来报告击键所生成的字符。
鼠标事件
如果希望用户通过鼠标画图,那么你需要
捕捉鼠标移动、点击和拖放事件。
当用户点击了一个鼠标按钮时,下面三个
监听器会被调用:
1) mousePressed—— 当鼠标被按下时
mouseRelesed—— 当鼠标被释放时
2) mouseClicked
如果用户在移动鼠标的过程中按下一个鼠
标按钮,那么 mouseDragged就会被调用,
而不是 mouseClicked方法被调用。
鼠标事件
java.awt.event.MouseEvent
int getX()
int getY()
Point getPoint()
返回事件发生
点的 x和 y坐标
ArrayList类 —— 数组列表
ArrayList类是一个库类,它是一个单一的“一
个尺寸容纳所有”的类型,它可以放所有的
Object类型。
特别地,无论何时如果需要从一个数据组列表
中提取一项,那么你需要进行造型转换。
使用 add方法可以在一个数组列表中添加新元素。例:
ArrayList staff = new ArrayList();
staff.add(new Employee(… ));
staff.add(new Employee(… ));
ArrayList类管理了一个内部的对象数组。最后,
数组可以用完空间。这是数组列表的神奇之处。
java.util.ArrayList
ArrayList() 构造一个空数组列表
ArrayList(int initialCapacity)
构造一个具有指定容量的空数组列表
Boolean add(Object obj)
把一个元素追加到数组列表的结尾,总是返回
true。
int size()
返回在数组列表中的当前元素个数。
void ensureCapacity(int capacity)
保证数组列表具有存储给定数目元素的容量,并
且不重定位其内部存储数组。
java.util.ArrayList
void trimToSize()
把数组列表的存储容量减小到当前尺寸。
void set(int index,Object obj)
设置数组列表指定位置元素的值,它会覆盖原来的内
容。其中参数 index介于 size()-1之间。
Object get(int index) 得到指定位置存储的元素值。
void add(int index,Object obj)
移动元素然后插入新元素。其中 index为插入位置。
void remove(int index)
删除指定位置元素然后把其后面元素往前挪动一个位
置。
java.util.ArrayList
例 1,Employee e = (Employee)
staff.get[i];
这等价于 Employee e = a[i];
例 2,staff.set(i,harry);
这等价于 a[i] = harry;
Event类的数据域?
Event
Object arg
int clickCountint id int key
int modifiers Object target
int x int y long when
辽宁经济职业技术学院信息系
硕士、副教授 陈英
AWT事件类继承关系图
Event
对象
AWT
事件
Action
事件
Adjustment
事件
Component
事件
Item
事件
Text
事件
Container
事件
Focus
事件
Input
事件
Paint
事件
Window
事件
Key
事件
Mouse
事件
AWT中的语义事件和低级事件
1,语义事件:
ActionListener( 对应按钮点击、菜单选择等)
AdujstmentEvent(用户调整一个滚动条)
ItemEvent(用户从一组选择框或者列表项中选择一个 )
TextEvent(文本域或者文本框中内容发生改变 )
2,低级事件:
ComponentEvent(组件被缩放、移动、显示或者隐藏)
KeyEvent(一个键或者释放 )
MouseEvent鼠标 (鼠标按钮按下、释放,鼠标移动或拖动 )
FoucsEvent(组件得到焦点或者失去焦点 )
WindowEvent(窗口被激活、减活、图标化、还原或者关
闭)
ContainerEvent(添加 /删除一个组件 )
焦点
设当前活动窗口在一个 Java程序控制之下,那么
Java窗口接收击键,并且把它们定向到一个特定
的组件,把那个特定组件称作焦点。
同一时刻,一个窗口最多只能有一组件得到焦点。
如果用户选择另一个组件,那么前一个组件就会
失去焦点,而第二个组件则得到焦点。
得到焦点的方式有两个:
1) 用户使用鼠标点击该组件。
2) 用户使用 TAB键精来在各个组件间轮流切换焦点。
默认情况下,Swing组件按照从左至右,从上至
下的顺序遍历。
事件的分类
Event
HandleEvent()
MouseUp()
MouseDown()
MouseDrag()
MouseMove()
MouseEnter()
MouseExit()
keyDown()
KeyUp()
action()
焦点事件
一个焦点监听器必须实现两个方法:
1) focusGained方法
2) focusLost方法
当事件源得到或失去焦点时,这些方法
将被触发。
键盘事件
当用户按下键盘上一个键时,一个
KEY_PRESSED KeyEvent(键盘事件)就
会产生。
当用户释放该键时,一个 KEY_RELEASE
KeyEvent就会产生。
可以通过实现 KeyListener接口中的
keyPressed或者 keyReleased方法来捕获这些
事件。
keyTyped 方法用来报告击键所生成的字符。
鼠标事件
如果希望用户通过鼠标画图,那么你需要
捕捉鼠标移动、点击和拖放事件。
当用户点击了一个鼠标按钮时,下面三个
监听器会被调用:
1) mousePressed—— 当鼠标被按下时
mouseRelesed—— 当鼠标被释放时
2) mouseClicked
如果用户在移动鼠标的过程中按下一个鼠
标按钮,那么 mouseDragged就会被调用,
而不是 mouseClicked方法被调用。
鼠标事件
java.awt.event.MouseEvent
int getX()
int getY()
Point getPoint()
返回事件发生
点的 x和 y坐标
ArrayList类 —— 数组列表
ArrayList类是一个库类,它是一个单一的“一
个尺寸容纳所有”的类型,它可以放所有的
Object类型。
特别地,无论何时如果需要从一个数据组列表
中提取一项,那么你需要进行造型转换。
使用 add方法可以在一个数组列表中添加新元素。例:
ArrayList staff = new ArrayList();
staff.add(new Employee(… ));
staff.add(new Employee(… ));
ArrayList类管理了一个内部的对象数组。最后,
数组可以用完空间。这是数组列表的神奇之处。
java.util.ArrayList
ArrayList() 构造一个空数组列表
ArrayList(int initialCapacity)
构造一个具有指定容量的空数组列表
Boolean add(Object obj)
把一个元素追加到数组列表的结尾,总是返回
true。
int size()
返回在数组列表中的当前元素个数。
void ensureCapacity(int capacity)
保证数组列表具有存储给定数目元素的容量,并
且不重定位其内部存储数组。
java.util.ArrayList
void trimToSize()
把数组列表的存储容量减小到当前尺寸。
void set(int index,Object obj)
设置数组列表指定位置元素的值,它会覆盖原来的内
容。其中参数 index介于 size()-1之间。
Object get(int index) 得到指定位置存储的元素值。
void add(int index,Object obj)
移动元素然后插入新元素。其中 index为插入位置。
void remove(int index)
删除指定位置元素然后把其后面元素往前挪动一个位
置。
java.util.ArrayList
例 1,Employee e = (Employee)
staff.get[i];
这等价于 Employee e = a[i];
例 2,staff.set(i,harry);
这等价于 a[i] = harry;
Event类的数据域?
Event
Object arg
int clickCountint id int key
int modifiers Object target
int x int y long when