面向对象程序设计GUI编程

上传人:宝路 文档编号:47702257 上传时间:2018-07-04 格式:PPT 页数:36 大小:310.46KB
返回 下载 相关 举报
面向对象程序设计GUI编程_第1页
第1页 / 共36页
面向对象程序设计GUI编程_第2页
第2页 / 共36页
面向对象程序设计GUI编程_第3页
第3页 / 共36页
面向对象程序设计GUI编程_第4页
第4页 / 共36页
面向对象程序设计GUI编程_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《面向对象程序设计GUI编程》由会员分享,可在线阅读,更多相关《面向对象程序设计GUI编程(36页珍藏版)》请在金锄头文库上搜索。

1、GUI 编程第六章1回顾 运行时发生的错误称为异常。 Java 使用 try 和 catch 块来处理异常 。try 块中的语句引发异常,而 catch 块 则处理异常。 可以同时使用多个 catch 块来分别处理 各种异常类型。 关键字 throws 用于列出一个方法可能 引发的异常类型。 Java 中的垃圾收集就是将分配给对象但 不再使用的内存回收或释放的过程。2目标 了解 Swing 包及其组件 掌握如何创建 GUI 程序 掌握 Swing 组件的基本用法 掌握如何使用布局管理器构造复杂的布局3抽象窗口工具包AWT 图形用户界面(GUI)可以通过键盘或鼠标来响应用户的操作。 抽象窗口工具

2、包(AWT)是一组Java类, 此组Java类允许创建图形用户界面(GUI)。 AWT提供用于创建生动而高效的GUI的各种组件。4Swing技术 由于AWT的功能有限、其图形组件的绘 制也不完全是平台独立等原因,Sun公司 联合多家公司推出了与AWT完全兼容的图 形用户界面框架Swing。Swing是在AWT 的基础上构建的一套新的图形界面开发工 具。 5javax.swing 包中的类体系结构ComponentContainerJComponentJPanelFrameDialogWindowJFrameJDialogJButtonJTextField6容器 可以存放组件的区域,可在容器上进

3、行 绘制和着色 常用容器包括:窗体(JFrame类)和面 板(JPanel类)。 窗体是一个带有边框的独立的窗口。 面板是包含在窗口中的一个不带边框的 区域。 7容器 窗体 窗体用来构建Windows系统中的窗口应用程 序。 可以通过以下任一构造函数来创建窗体: JFrame():创建一个不含标题的标准窗口 JFrame(String Title): 创建一个含有标题的窗口 ,这个标题是由参数title指定的。 当一个JFrame窗口被创建以后,需要调用 setSize()方法来设置窗口的大小,并调用 setVisible()来显示窗口。8容器 - 面板 面板不是一个单独的窗口,它只是包含 在

4、窗口中的一个区域。 面板是可以将许多组件组合起来的一种 容器。 最简单的创建面板的方式就是通过面板 的构造函数 JPanel() 来进行。 必须将面板添加到窗体中。9使用容器示例import javax.swing.*;class PanelTest extends JPanel public static void main(String args) PanelTest p= new PanelTest();JFrame f=new JFrame(“正在测试面板 !“);f.add(p);f.setSize(300,200);f.setVisible(true); 使用GUI组件必 须导入该

5、包将面板添加 到 框架窗体中10Swing组件 组件指可以放置在用户界面上的任何东西, 可以将组件设置为可见或重新调整其大小。 Swing支持的组件:标签、文本域、文本区 、按钮、复选框、选择框等。 高级组件包括滚动条、滚动窗格和对话框。 向窗口加入一个组件:首先生成所需组件的 实例,然后调用add()方法,此方法是在 Container类中定义的。11不同组件标 签文本域复选框单选按钮文本区按钮12标签 可以通过以下任一构造函数来创建: JLabel( ) : 新建一个空标签 JLabel(String labeltext): 新建一个包含给定文本 的标签 JLabel(String lab

6、eltext, int alignment) :新建一个 包含给定对齐方式的标签,对齐方式可以为 JLabel.LEFT、JLabel.RIGHT 或 JLabel.CENTERv通常用来指明项目的用途 v标签不可以被用户编辑13文本域 可以通过以下任一构造函数来创建: - JTextField() : 新建一个文本域 - JTextField(int columns) : 新建一个包含给定 列数的文本域 - JTextField(String s) : 新建一个包含给定字符 串的文本域 - JTextField(String s, int columns) : 新建一个包 含给定字符串和列数

7、的文本域 v一种用来输入文本的GUI组件 v只能接受一行输入14标签和文本域使用示例import java.awt.*; class TextLabelDemo extends JFrame JLabel lblName=new JLabel(“名称 :”);JTextField txtName=new JTextField(20);public TextLabelDemo (String title) super(title); setLayout(new FlowLayout(); add(lblName); add(txtName);public static void main(Str

8、ing args) TextLabelDemo t=new TextLabelDemo(“正在测试组件! “); t.setSize(300,200); t.setVisible(true); 新建一个标签新建一个文本 域添加到窗口15文本区 可以通过以下构造函数来创建: - JTextArea( ) : 新建一个TextArea - JTextArea(int rows, int cols) : 新建一个包含给 定行数和列数的TextArea - JTextArea(String text, int rows, int cols) : 新建 一个包含给定字符串、行数和列数的TextAreav

9、要接受输入多行文本时使用 v可以包括滚动条. . .JTextArea txtComment=new JTextArea(); add(txtComment); . . .16按钮 可以使用以下任一构造函数来创建按钮 : - JButton() : 新建一个空的按钮 - JButton(String text) : 新建一个包含给定字符 串的按钮v按钮是任何GUI都不可或缺的组件 v用来捕捉用户操作的最为简便的 方式. . .JButton btnOk=new JButton(“确定!“);JButton btnCancel=new JButton(“取消!“); add(btnOk);add

10、(btnCancel); . . .17复选框 可以使用以下任一构造函数来创建复选框 :- JCheckbox():创建一个空的复选框,且未被选 中- JCheckbox(String text):创建一个用给定字符串 作为标签的复选框,且未被选中- JCheckbox(String text,Boolean on):创建一个标 签由参数text指定的复选框,允许通过参数on设 定复选框的初始状态。用于多选项的用户输入,用户 可以通过单击复选框来选定或 取消选定某选项。18单选按钮 可以通过复选框组生成一系列互斥的复选 框,实现单选按钮功能。 在一组单选按钮中只能选择一个按钮。 首先创建一个

11、ButtonGroup 对象。ButtonGroup bg=new ButtonGroup(); 然后再创建各单选按钮。JRadioButton male=JRadioButton(“男“);JRadioButton female=JRadioButton(“女”); bg.add(male);bg.add(female);19复选框和单选按钮使用示例import java.awt.*; import javax.swing.*; class Qualification extends Frame JRadioButton t1=new JRadioButton(“Visual Basic“)

12、;JRadioButton t2=new JRadioButton(“Visual C+“);JRadioButton t3=new JRadioButton(“Java“);ButtonGroup bg=new ButtonGroup();bg.add(t1);bg.add(t2); JCheckbox r1=new JCheckbox(“专科“);JCheckbox r2=new JCheckbox(“本科“);JCheckbox r3=new JCheckbox(“硕士“);JCheckbox r4=new JCheckbox(“博士“);JLabel lb1=new JLabel(“您

13、的学历为:“ );JLabel lb2=new JLabel(“您精通的语言为:“ ); 新建单选按 钮新建一个单 选按钮组新建复 选框public Qualification(String s ) super(s);setLayout(new GridLayout(10,1); add(r1);add(r2);add(r3);add(r4);add(t1);add(t2);add(t3);public static void main(String args) Qualification q=new Qualification (“学识!“); q.setSize(400,250); q.s

14、how( ); 将单选按钮添 加到窗体 将复选框添加到窗体20选择框 用 JComboBox 类可以创建一个选择框JComboBox combobox = new JComboBox( ); 通过 addItem() 方法可以添加项目 combobox.addItem(“安东尼奥.班德拉斯“); combobox.addItem(“莱昂纳多.迪卡普尼奥“); combobox.addItem(“桑德.布洛克“); combobox.addItem(“休.葛兰特“); combobox.addItem(“朱莉亚.罗萡茨“); 用来向用户显示一个选择列 表21布局管理器 用户界面上的组件可以按不同

15、方式排列。 Java使用布局管理器来管理这些排列方式 。 每当需要重新调整屏幕大小或重新绘制屏 幕上任一项目时,就要用到布局管理器。 AWT提供一组用来进行布局管理的类,称 为布局管理器或布局。所有布局都实现 LayoutManager接口。22布局类型 Java中的布局类型包括以下几种: - FlowLayout(流式布局) - BorderLayout (边界布局) - GridLayout(网格布局) - GridBagLayout(网格包布局) - CardLayout (卡片布局)23布局类型的选用 每个布局管理器都有自己特定的用途。- 要按行和列显示几个同样大小的组件, GridL

16、ayout 会比较合- 要在尽可能大的空间里显示一个组件,就要 选择 BorderLayout 或 GridBagLayout 24如何设置布局 每个容器(Container对象)都有一个与它 相关的缺省的布局管理器。 - Applet 的缺省布局是 FlowLayout 在没有设置新的布局前,在容器中添加 组件都按照该容器的缺省布局排列。 可以通过setLayout( )方法为容器设置新的 布局。 25FlowLayout FlowLayout的构造函数有: - FlowLayout( ):生成一个默认的流式布局 - FlowLayout(int alignment):可以设定每一行组 件的对齐方式 - FlowLayout(int alignment,int horz,int vert):可以 设定组件间

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号