




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章 Swing图形界面 12.1Swing组件概述 在Java早期版本中,窗体、按钮等 组件被列入java.awt包中。 但是AWT包隐藏着一个很严重的问题,虽 然它是遵循着java“一次编译,随处运用” 的理念,然而它在图形组件的绘制方法 却不能做到随处运用, 因此用AWT包编写出来的程序有可能在不 同的操作平台上显示不同的效果, 12.1Swing组件概述 在1998年推出JDK1.2版本时,javax.swing包 被列入java的基础类库中。 在这里给出一个AWT与swing包的比较: (1)新版的swing包可能与旧版不兼容。 (2)swing包是建立在AWT包的基础上, 所以完全舍弃AWT包也不太可能。 (3)AWT包的运行速度比swing慢。 导入相关的包 import javax.swing.* ; Swing组件要使用AWT基础结构,包括 AWT事件模型。还需导入两个包 import java.awt.*; import java.awt.event.*; 12.1Swing组件概述 Swing组件与AWT最大不同: 在被实现时不包含本地代码,可以不受硬件平 台的限制,具有更多的功能 Swing组件比AWT的优势: Swing的标签和按钮不仅可以显示文本,还可 以显示图标,形状可以任意 Swing是AWT的扩展,用于建立更复杂,跨平 台性更好的图形界面,java建议使用Swing组 件代替AWT组件 JFrame类 JFrame是提供给给java应应用程 序用来放置图图形用户户界面的一个容 器。Swing包中的JFrame类类与我们们 讲讲解的AWT包中的Frame类类都与创创 建窗口有关,JFrame类类是从Frame 类类派生的。 12.2窗口 基于Swing组件的 图形界面,采用JFrame 框架作为容器 JFrame的构造方法和成员方法 u 构造方法摘要 JFrame() 构造一个初始时不可见的新窗体。 JFrame(String title) 创建一个初始不可见的、具有指定标题的新窗体。 Container getContentPane() 返回此窗体的 contentPane 对象 voidsetIconImage(Image image) 设置此 frame 要显示在最小化图标中的图像。 voidsetJMenuBar(JMenuBar menubar) 设置此窗体的菜单栏。 voidupdate(Graphics g) 只是调用 paint(g)。 一个空白窗口 面板c的作用: 设置布局管理器 添加组件 区别:AWT是直 接添加到窗口的 12.3标签 JLabel类 Label组件只能显示文字 但JLabel组件允许添加图像,而且当鼠标 的光标停留在标签位置时,会显示一段 文字提示。 setToolTipText(String s) 继承自JComponent类 JLabel bl=new JLabel(“Hello”); bl.setToolTipText(“This is a hello label”); 12.4 按钮 JButton类 添加按钮图标 ImageIcon ico=new ImageIcon(“IconJavaCup.gif”); JButton bt=new JButton(“OK”,ico); 文本框 Swing中文字输入有两个类,分别是 JTextField类和JTextArea类,其中 JTextField定义一个可以输入单行文字 的矩形区域; JTextArea定义一个可以输入多行文字内容 的矩形区域。 另外,JPasswordField是JTextField的子 类,用来做密码输入 任务11-1 与AWT的 不同之处 12.5单选按钮和复选框 单选按钮是由JRadioButton类派生,它是 指一组按钮中,用户只能选择其中一个按钮, 当用户选上时,此按钮的状态为“选中或ON”, 其余的都是“未选中或OFF”状态。 在java中,ButtonGroup类为JRadioButton类等 提供多选一功能。 复选框由JCheckBox类派生,它提供“选中/未 选中”或“ON/OFF”两种状态,当用户单击复选框 时改变复选框原来设置的状态; 补充资料例 子12-1 产生三个单选框 将三个单选框放到一个组中 将三个单选框放到窗口中 三个单选框添加事件监听器 补充资料例 子12-1 单选按钮和复选框引发事件 复选框和单选按钮引发的事件是由ItemEvent类派 生的。ItemEvent类的主要方法有: Object getItem()方法:告知用户是哪个选择项的 选中状态发生变化。 int getStateChange()方法:可以使用户知道到底 是选中哪个选项。 当用户选择某个单选按钮或复选框时,就会引发 ItemEvent类事件,当事件发生时,监听者会引用 ItemListener类中的itemStateChange(ItemEvent e) 方法响应事件源对象状态的改变。 补充资料例 子12-2 产生复选框 添加监听器 补充资料例 子12-2 判断事件源的组 件是否被选中 下拉列表框 下拉列表框是由JComboBox类派生,其 特点是将所有选项折叠收藏起来,只显 示最前面的那个或被用户选中的某一个 。 JComboBox类的构造方法 主要功能 JComboBox () 创建一个空的下拉列表框对象,可以使用 addItem()方法向下拉列表框对象中添加 的选项 JComboBox (Vector vect) 使用向量表创建一个JComboBox对象 JComboBox (ComboBoxModel model) 从已有的model获得选项,创建 JComboBox对象 JComboBox (Object items) 使用数组创建JComboBox对象 JComboBox类的方法 主要功能 void addActionListener(ActionListener e) 注册事件对象给ActionListener对象 void addItemListener(ItemListener a) 注册事件对象给ItemListener对象 void addItem(Object object) 为选项表添加选项 Object getItemAt(int index) 获得指定下标的列表项 int getItemCount() 获得列表中的选项数 Object getSelectedItem() 获得当前选择的项 补充资料 例子12-3 将字符串数组放在列表中 取得被选中的字符串 实现上述界面 点击退出可关闭窗口 点击保存可将某个同学信息保存到以学号命名的 文件中 教材任务11-3:学生信息输入(用Swing组 件实现) 示例InputFrame1 可参考本ppt中的 “补充例子 按钮和标签 文本框” 例子11-4 菜单 Swing总结 1 Swing组件一般前面加上一个大写的J Frame-JFrame Button-JButton 2通过JFrame的getContentPane()方法得到得到 Container对象,是窗口的面板,Swing组件是添加到该面 板中,设置布局管理器也是通过它 Container c=getContentPane(); c.setLayout(new FlowLayout(100,100,10); c.add(label1); 该面板通过窗口的获得 3 每个组件都是容器,除添加文本还可以添加图片 4 同为一组的单选框需要加入到一个ButtonGroup中去 上机作业1:综合图形界面 输入学生信息后,在下 面的几个文本域中分别 显示学生信息的变化 上机作业2:实现如下菜单界面 要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学辅导员招聘考试:心理危机干预案例分析试题库
- 2025年护士执业资格考试题库:护理伦理学专项测试题
- 2025上交所非国有产权交易合同
- 2024-2025学年云南省昭通市镇雄县高一上学期期末联考语文试题
- 湖北省武汉市2025-2026学年高三上学期9月调研考试政治试题(原卷版)
- 浙江省七彩阳光联盟高三暑假返校联考一模英语试题
- 小学五年级数学重要单元测试题库
- 2025设备材料采购合同供应商履约评价表
- 2026届福建省龙岩市连城县九年级数学第一学期期末教学质量检测模拟试题含解析
- 2025年初中地理学业水平考试模拟试卷-区域地理专项试题解析
- 四年级上册数学教案 -平行与垂直 人教版
- 2022年工程机械行业发展现状分析
- 《函数的奇偶性》教学课件与导学案
- DB11-T 1796-2020文物建筑三维信息采集技术规程
- (完整版)工程流体力学课件(第四版)
- RCEP的机遇与挑战研究报告
- 非常规油气勘探开发
- 小学科学课堂存在的问题与解决方法
- 陕西污水处理定价成本监审办法
- 公司级安全技术交底内容
- GB T 3810.13-2016 陶瓷砖试验方法 第13部分:耐化学腐蚀性的测定
评论
0/150
提交评论