3ATW Swing 事件处理(8)
", 在程序中如果想接受并处理事件*Event,必须定义与之相应的事件处理类,该类必须实现与事件相对应接口*Listener。
", 定义事件处理类之后, 必须将事件处理对 象 注 册 到 事 件 源 上 , 使 用 方 法add*Listener(*Listener)注册监听器。
Button b = new Button(\声明,并初始化按钮对象b
//注册监听器进行授权,参数是事件处理者对象(即事件处理器,事件监听器) b.addActionListener(new ButtonHandler());
//ButtonHandler 实现接口ActionListener 才能做事件ActionEvent 的处理者 class ButtonHandler implements ActionListener
{public void actionPerformed(ActionEvent e) //ActionEvent 事件对象作为参数 {........//本接口必须实现的方法actionPerformed } }
2 事件类 java.lang.Object
+--java.util.EventObject +--java.awt.AWTEvent +--java.awt.event.*Event
每一个事件类都与一个事件类接口相对应,由事件引起的动作都存放在接口需要实现的方法中。
低级事件是指源于组件或容器的事件,当组件或容器发生事件时(单击左键、右键、拖动以及窗口大小的改变等),将触发事件。
高级事件是语义事件,此类事件与特定的具体事件不一定相对应,但是会产生特定的事件对象,如按钮被按下触发ActionEvent 事件、滚动条移动滑块触发AdjustmentEvent 事件、或选中项目列表某项时触发ItemEvent 事件。 低级事件包括以下几种。
", 组件事件(ComponentEvent)。 ", 容器事件(ContainerEvent)。 ", 窗口事件(WindowEvent)。 ", 焦点事件(FocusEvent)。 ", 键盘事件(KeyEvent)。 ", 鼠标事件(MouseEvent)
高级事件(语义事件)包括以下几种。 ", 动作事件(ActionEvent)。 ", 调整事件(AdjustmentEvent)。 ", 项目事件(ItemEvent)。 ", 文本事件(TextEvent)。
动作事件类
动作事件类(ActionEvent)指发生组件定义的语义事件,用户在操作Button、
CheckBox、TextField 等组件的时候将出现动作事件,例如单击Button、TextField,按下回车键等。使用动作事件时需给组件增加一个事件监听器(事件处理器)ActionListener。ActionListener 只有惟一的actionPerfomed()方法。 Public void actionPerformed(ActionEvent e){//按钮被操作发生} ActionEvent 类的方法有以下几种。 ", getActionCommand():返回命令字符串。 ", getModifiers():取得按下的修饰符键。 ", getWhen():取得事件发生的时间。 ", paramString():生成事件状态的字符串。
假设存在按钮组件对象button,动作事件使用如下。 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {//按钮被操作 dosomething } });
调整事件类
调整事件是滑动滚动条的滚动块时发生的事件。ScrollBar 组件在滑动滚动块时就会触发调整事件,为了监听调整事件,必须给ScrollBar 组件对象添加一个调整事件监听器AdjustmentListener。该监听器只有一个方法,其一般格式如下。 public void adjustmentValueChanged(AdjustmentEvent e) {//调整滚动条发生}
AdjustmentEvent 类的方法有以下几种。
", getAdjustable():取得事件源,返回Adjustable 接口对象。 ", getAdjustmentType():取得调整类型。 ", getValue():取得源中的值。
", getValueIsAdjusting():判断源是否被移动。 ", paramString():生成事件状态的字符串。
假设现有滚动条组件对象scrollbar,调整事件使用如下。 scrollbar.addAdjustmentListener(new AdjustmentListener() { public void adjustmentValueChanged(AdjustmentEvent e) {//调整滚动条do someting } } );
焦点事件类
焦点事件类(FocusEvent)是指用户程序界面的组件失去焦点(即焦点从一个对象转移到另外一个对象)时,就会发生焦点事件。得到焦点事件的组件处于激活状态,例如界面包含文本框组件和单行文本输入区两个组件,如果文本框内部闪烁着光标,则表明该文本框拥有焦点。当鼠标单击单行文本框输入区时,这个时候就会触发焦点时间。使用焦点事件必须给组件增加一个FocusListener 接口的事件处理器,该接口包含以下两个方法。
", void focusGained(FocusEvent e):当获得焦点时发生。 ", void focusLost(FocusEvent e):当失去焦点时发生。
FocusEvent 类的方法有以下几种。
", getOppositeComponent():返回焦点转换到的下一个组件。 ", isTemporary():判断焦点的转换是暂时的还是永久的。 ", paramString():生成事件状态的字符串,用toString()方法进行。 假设现有一个文本组件对象textfield,焦点事件的使用示例如下: textfield.addFocusListener(new FocusListener() public void focusGained(FocusEvent e) {
{//获得焦点 do somthing} public void focusLost(FocusEvent e) {//失去焦点 do somthing} });
项目事件类
项目事件类(ItemEvent)是指某一个项目被选定、取消的语义事件。选择CheckBox、 ComboBox、List 等组件的时候将产生项目事件。使用项目事件必须给组件添加一个实现ItemListener 接口的事件处理器,该接口的方法如下。 void itemStateChange(ItemEvent e) 项目事件类的方法有以下几种。 ", getItem():返回取得影响的项目对象。
", getItemSelectable():返回事件源ItemSelectable 对象。
", getStateChange():返回状态的改变类型,包括SELECTED 和DESELECTED 。
…… 此处隐藏:1231字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




