




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图形用户界面GUI 教学内容 简介Swing窗口的使用布局管理器事件处理模型内部类常用Swing组件 2 简介 图形用户界面GUI GraphicalUserInterface 没有图形化的界面 用户不会接受 抽象窗口工具集AWT AbstractWindowTools Java用于GUI开发的类库 包括组件 事件处理机制等 Swing AWT的扩展 提供功能更加强大的组件 一般以 J 开头 4 Swing窗口的使用 5 6 容器 可以存放组件的区域 可在容器上进行绘制和着色 1 顶层容器 Jframe框架 带有边框的独立的窗口 使用时用组合方法 或继承方法 2 中间容器 JPanel面板 不带边框的区域 一般加入其他组件后 整体放入上层容器 JPanel面板加入组件方法为add 内容窗格 JFrame中的一个JPanel面板 用getContentPane 得到 所有组件与面板放入其中 7 显示窗口的方法importjavax swing publicclassTestFrame1 publicstaticvoidmain String args JFrameframe newJFrame 设置标题frame setTitle 窗口框架 设置大小frame setSize 320 240 设置退出frame setDefaultCloseOperation JFrame EXIT ON CLOSE 设置可见frame setVisible true 8 代码如下 TestFrame1 java主函数中建窗口框架 一般不使用TestFrame2 java继承方式建窗口框架TestFrame3 java组合方式建窗口框架TestPanel java面板的使用 布局管理器 布局管理器用来管理容器上组件的排列方式 重新调整屏幕大小或重新绘制屏幕上组件时就要用到布局管理器 AWT提供一组用来进行布局管理的类 称为布局管理器或布局 所有布局都实现LayoutManager接口 FlowLayout 流式布局 BorderLayout 边界布局 GridLayout 网格布局 GridBagLayout 网格包布局 略CardLayout 卡片布局 略无布局 9 10 设置布局管理器方法 1创建新的布局管理器FlowLayoutLayout newFlowLayout FlowLayout CENTER 8 8 2设置容器的布局管理器容器 setLayout Layout FlowLayout 流式布局 11 此布局是面板默认布局 构造函数有 FlowLayout 生成一个默认的流式布局FlowLayout intalignment 一行组件的对齐方式FlowLayout intalignment inthorz intvert 可以设定组件间的水平和垂直距离newFlowLayout FlowLayout CENTER 8 8 FlowLayoutDemo java BorderLayout 边界布局 12 窗口 框架和对话框等的缺省布局 组件可被置于容器的北 南 东 西或中间位置 构造函数有 BorderLayout 生成默认的边界布局BorderLayout inthorz intvert 可以设定组件间的水平和垂直距离加入组件方法 voidadd 组件 位置 BorderLayout NORTH 对应容器的顶部BorderLayout EAST 对应容器的右部BorderLayout SOUTH 对应容器的底部BorderLayout WEST 对应容器的左部BorderLayout CENTER 对应容器的中部BorderLayoutDemo java GridLayout 网格布局 13 用于将容器区域划分为一个矩形网格 组件按行和列排列构造函数有 GridLayout 生成一个单列的网格布局GridLayout introw intcol 生成一个设定行数和列数的网格布局GridLayout introw intcol inthorz intvert 可以设置组件之间的水平和垂直间隔GridLayoutDemo java 无布局 14 没有布局 使用方法将组件置于固定位置contrainer setLayout null contrainer add lbUser lbUser setBounds 10 20 40 20 NULLLayoutDemo java 布局综合 15 窗口中是各种面板的组合 各面板的布局也不相同JPanelDemo java 事件处理模型 16 在图形界面的系统中会涉及事件处理 比如单击按钮 菜单会产生事件 而程序对事件的响应为事件处理 Java中采用的是授权处理模型 当组件产生事件时 组件不处理事件 而是将事件处理授权给监听器 如同生活中我们将某项权利交由律师全权处理 17 组件 按钮 监听器 类 事件 点击按钮 产生事件 事件传给监听器 授权事件由监听器处理 步骤 1建立监听器程序员2组件注册监听器程序员3事件对象产生用户系统4事件对象交给监听器系统5监听器处理事件程序员 18 事件 描述事件源状态改变的对象 如点击按钮 点击鼠标 选择列表框等 事件源 可生成事件的对象 一般是组件 事件源可为事件注册监听器addxxxListener 事件类型 对组件的操作不同 组件产生的事件对象类型也不同 19 20 21 22 监听接口 每种事件类型有对应的监听接口 其定义了事件的处理方法 由监听程序类实现其所有方法 xxEvent对应xxListener监听类 实现监听接口 负责事件处理 可实现多个接口 监听多个事件 TestMouse java适配器 用空函数实现了监听接口 因此监听程序类继承后可以只重载个别处理方法 xxListener对应xxAdapter 23 24 内部类 25 内部类是定义在一个类里面的类 GUI中经常使用这种方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年安全员考试试题及完整答案详解【网校专用】
- 2026届广东省佛山市南海区南海实验中学九上化学期中质量跟踪监视模拟试题含解析
- 农肥企业年终总结
- 带病返乡工作汇报
- 置业顾问培训
- 为军服务护士工作总结
- 家电销售培训教程
- 江苏省高邮市南海中学2026届英语九上期末统考模拟试题含解析
- 员工离职工作总结
- 新疆奎屯市第八中学2026届英语九年级第一学期期末统考试题含解析
- GB/T 45345-2025金属及其他无机覆盖层工程用直流磁控溅射银镀层镀层附着力的测量
- 无人机教员聘用协议书
- 药物非临床研究质量管理规范
- 脑科生理病理图谱解读
- 足球教练员的职业素养与道德规范
- 产地证培训讲义
- 《南京理工大学化工》课件
- 养殖场远程视频监控解决方案
- 二手车转让免责协议书范本
- 化粪池及隔油池清洁服务方案
- 骨科患者辅助器具选择与使用
评论
0/150
提交评论