- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章Swing图形用户界面编程剖析
11.5.3 监听接口 监听接口中定义了抽象的事件处理方法,这些方法针对不同的操作进行不同的处理。在程序中,通常使用监听类实现监听接口中的事件处理方法。监听接口定义在java.awt.event包中,该包中提供了不同事件的监听接口,这些接口中定义了不同的抽象的事件处理方法。 11.5.4 事件处理步骤 Java中进行事件处理的步骤如下: 第一步:创建监听类,重写事件处理方法。 第二步:创建监听器。 第三步:利用事件源的addXXXListener()方法将监听器注册到事件源上。 11.5.5 ActionEvent事件处理 ActionEvent事件是最常出现的事件。例如:当单击按钮、单选按钮、菜单项等组件时,可以触发ActionEvent事件;当在文本框、密码框中输入回车符时,也可以触发ActionEvent事件。因此,按钮、单选按钮、菜单项、文本框、密码框都可以作为ActionEvent事件的事件源。 实例11-12修改实例11-9,实现“提交”按钮的单击事件:当单击“提交”按钮时弹出一个显示“提交成功”的消息对话框。 实例11-13修改实例11-11,实现“确定”按钮和“取消”按钮的点击事件。当单击“确定”按钮时,将用户名和密码显示到消息对话框中;当单击“取消”按钮时,将文本框和密码框中的内容清空。 11.5.6 ListSelectionEvent事件和ItemEvent事件的处理 列表框可以触发ListSelectionEvent事件。 复选框、组合框都可以触发ItemEvent事件。 实例11-14 修改实例11-10,给列表框、组合框注册监听器,实现省、城联动的效果。 11.5.7键盘事件处理 键盘产生的事件都是KeyEvent事件,与KeyEvent事件对应的监听接口是KeyListener接口,该接口定义了keyPress(KeyEvent e)、keyReleased(KeyEvent e)和keyTyped(KeyEvent e)三个方法,分别响应用户按下、松开和敲击按键时的操作。 KeyEvent事件有两个常用方法,分别是:getKeyChar()和getKeyCode()。 实例11-15 在实例11-12的基础上进一步修改完善问卷调查程序:在文本框中输入联系方式时,如果输入的内容不是0-9之间的数字,则触发键盘事件。 11.5.8鼠标事件处理 用户使用鼠标进行操作时,产生的就是MouseEvent事件。MouseEvent事件有两个监听接口,分别为MouseListener和MouseMotionListener。这两个接口所处理的鼠标操作是不同的。 实例11-16鼠标事件演示:拖拽鼠标在面板中画图。 11.5.9适配器 扩展监听接口时,有些事件处理方法是不需要的,但必须重写。为了简化程序代码,java.awt.event包中又提供了一套抽象适配器类,分别实现每个具有多个事件处理方法的监听接口。这些适配器类和对应的监听接口所实现的功能相同,但适配器是类而不是接口,它实现对应监听接口的多个事件处理方法(将这些方法都定义成空的),这样继承适配器后,可以仅重写需要的事件处理方法。 实例11-17通过MouseAdapter演示适配器的用法。 11.6菜单和工具栏 11.6.1菜单 菜单可以将各种操作集中起来,方便用户的操作。从显示效果来看,即美观又节省空间。 常用的菜单形式有两种:常规菜单和快捷菜单。 11.6.1.1常规菜单 常规菜单由三部分组成,分别是菜单栏、菜单和菜单项 1.JMenuBar类 JMenuBar用于创建整合菜单的菜单栏。 常用的创建菜单栏的方式是: JMenuBar 对象名 = new JMenuBar(); 2.JMenu类 JMenu用于创建功能菜单。 创建菜单的方式有如下两种: 方式一:JMenu 对象名 = new JMenu(); 方式二:JMenu 对象名 = new JMenu(String s); JMenu类常用方法如下: add(Componet c)方法:该方法的作用是将菜单项加入到菜单中。 addSeparator()方法:该方法的作用是在菜单项之间添加分隔线。 3.JMenuItem类 JMenuItem用于创建菜单项。菜单项实际上可以看做是另一种形式的按钮。 创建菜单项的方式有: 方式一:JMenuItem 对象名 = new JMenuItem(); 方式二:JMenuItem 对象名 = new JMenuItem(String s); 方式三:JMenuItem 对象名 = new JMenuItem(ImageIcon image); 方式四:JMenuItem 对
文档评论(0)