- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象程序设计 第12章 Swing程序设计基础 本章主要内容 一个简单的Swing实例 GUI开发工具包:Swing与AWT 事件与监听器 Swing容器 布局管理器 Swing常用组件 JLabel(标签)、JTextField(文本框)、JTextArea(编辑框)、JButton(按钮)、JCheckBox(复选框)、JRadioButton(单选按钮)、JComboBox(下拉列表框) Swing高级组件 菜单、对话框、表格、树 一个简单的Swing实例 import javax.swing.*; public class HelloWorldFrm extends JFrame { public HelloWorldFrm() { this.initialize(); } private void initialize() { //初始化方法,构建窗体样式 this.setSize(400, 300); this.setTitle(第一个Swing实例); } public static void main(String[] args) { HelloWorldFrm frm = new HelloWorldFrm(); frm.setDefaultCloseOperation( //设置关闭按钮效果 JFrame.DISPOSE_ON_CLOSE); frm.setVisible(true); } } 窗体居中显示 import java.awt.*; …… Dimension screenSize = Toolkit.getDefaultToolkit( ).getScreenSize( ); Dimension frameSize = this.getSize( ); if (frameSize.height screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width screenSize.width) { frameSize.width = screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); GUI开发工具包:Swing与AWT Java Swing是Java Foundation Classes(JFC)的一部分,是一个用于开发Java图形化应用程序用户界面的GUI(Graphical User Interface)开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。 AWT的组件很大程度上被Swing工具包替代。Swing扩展了AWT,并包含称作 Swing 组件的改进用户界面。Swing通过改进的组件而避免了AWT的种种弊端:调用本地图形子系统中的底层例程,而不是依赖操作系统的高层用户界面模块。基于此原因,Swing 组件经常被描述为轻量级的。 事件处理 事件处理模型 事件分类 事件处理过程 创建一个合适的监听器。 创建组件对象。 利用组件的add***Listener方法将监听器注册到组件上。 这样当组件上发生相应的事件的时候,就会触发监听器,监听器就会处理相应的方法来处理事件。 事件处理实例——实现监听器接口方式 窗口事件 监听器接口和方法 监听器接口和方法 事件处理实例——继承监听器适配器类方式 为简化编程,针对大多数事件监听器接口定义了相应的实现类----事件适配器类,在适配器类中,实现了相应监听器接口中所有的方法,但不做任何事情。 在定义监听器类时就可以继承事件适配器类,并只重写所需要的方法。 使用匿名类处理事件 this.addWindowListener(new WindowAdapter() { public void windowOpened(WindowEvent e) { System.out.println(窗口被打开); } public void windowClosing(WindowEvent e) { System.out.println(窗口正在关闭); } }); 匿名内部类的基本格式是:new Super_Type(params_list){…} 其中 Super_Type 可以是接口,那么内部类将实现接口,也就是说,此时在匿名内部类中必须要实现Su
文档评论(0)