没有合适的资源?快使用搜索试试~ 我知道了~
第6章图形用户界面设计基础_Java程序设计.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 24 浏览量
2022-06-11
18:21:02
上传
评论 1
收藏 242KB DOC 举报
温馨提示
试读
17页
第6章图形用户界面设计基础_Java程序设计
资源推荐
资源详情
资源评论
第 6 章 图形用户界面设计基础
通过学习 4 个案例,初步掌握 Java 语言中的图形用户界面的概念,以及创建容器、组件、
指定布局和相应事件的方法,以及显示图片和播放音乐的基本方法。通过 11 个实例的制作,
进一步掌握 Java 设计过程的基本方法和基本技巧。
6.1【案例 17】创建窗体
案例效果
编写一个程序 Beijing,创建一个 JFram 窗口,并在其中显示“北京欢迎你!”和“Welcome
to Beijing!”,如图 6-1-1 所示。通过该案例的学习,可以初步掌握如何在 Java 语言中实现图
形用户界面,以及布局管理器的使用等内容。
设计过程
1、 在记事本中输入如下程序内容
import java.awt.*;
import javax.swing.*;
public class Beijing
{
public static void main(String args[])
{
JFrame frame=new JFrame("2008 年奥运会");
frame.getContentPane().setLayout(new GridLayout(2,1));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100,100,250,150);
JButton msg1=new JButton("北京欢迎您!");
JButton msg2=new JButton("Welcome to Beijing!");
frame.getContentPane().add(msg1);
frame.getContentPane().add(msg2);
frame.setVisible(true);
}
}
相关知识
1.图形用户界面和标准组件
(1)图形用户界面简介:图形用户界面(Graphics User Interface,GUI)。它使
用图形的方式,借助菜单、文本框、按钮等标准界面组件和鼠标及键盘的操作,帮助用户
方便地向计算机系统发出指令,并将系统运行的结果同样以图形方式显示给用户。
在图形用户界面(GUI)出现之前,用户需要输入命令,然后计算机再进行计算并输出
结果。这种人机交流方式需要用户记忆大量的命令,并且操作烦琐、复杂、容易出错。对
于计算机的初学者和一般用户来说,要掌握一种系统或者应用软件更是困难重重。例如 ,
DOS 操作系统虽然具有与 Windows 同样强大的文件管理功能,但是其普及程度远远不及
后者,在很大程度上是因为 DOS 不具有图形用户界面。由此可见,一个友好的图形用户
界面对于一个软件的重要性。
图形用户界面是指包括文本框、标签、按钮、单选按钮、复选框、图片、菜单、对话框
等组件的一个人机交互的界面。在该界面中,用户不需要记忆任何命令,通过单击、双击
拖动鼠标和简单的文字输入就可以轻松地操作计算机完成所有的任务。
在 Java 语言中,可以自行设计程序的图形用户界面,使得程序运行效果更加直观、生
动活泼。设计和实现图形用户界面的工作主要有以下 3 个方面。
创建组件(Component):创建组成图形用户界面的各种元素。例如,文本框、标签
按钮、单选按钮、复选框、图片、菜单、对话框等。
指定布局(Layout):设置各个组件在图形用户界面中的相应位置。
响应事件(Event):定义当用户进行某些操作时,程序的执行情况,从而实现图形用
户界面的人机交互功能。例如,当单击按钮、拖动鼠标或者在文本框中输入文字时,程序
的反应。程序的反应结果一般也是通过图形用户界面显示出来。
Java1.0 中出现了用来生成图形用户界面的包是 java.awt,简称抽象窗口工具集,即
AWT(Abstract Window Toolkit)。它的设计目标是希望构建一个通用的 GUI,使得
利用它编写的程序能够运行在所有的平台上。
(2)GUI 标准组件:Java 中构成图形用户界面的各种元素和成分可以分为两大类:容
器和组件。
容器(Container):容器是用来摆放图形用户界面中各种组件的一个矩形范围。一
般说来,一个应用程序的图形用户界面必须有一个顶层容器,比如一个窗口。在容器中,
可以放置各种组件或者其他容器,在新放置的容器内又可以放置各种组件或者其他容器,
依此类推就构成一个复杂的图形界面系统。
运行程序时,容器的显示位置和大小也就是该程序图形用户界面的显示位置和大小。用
户可以自行设置位置和大小的绝对值,也可以依据其所含组件和其他容器的位置及大小来
设置相对位置。
容器通常都有一个背景,这个背景覆盖填充整个容器,可以是透明的,也可以使用指定
的图案增加图形用户界面的生动性和个性化。
组件(Compnent):组件是图形用户界面的基本组成单位,它不能包含任何其他的
组件或者容器。组件的主要作用是接受用户的指令,显示输出结果,从而完成人机交流。
组件的种类很多,例如,按钮、复选框、下拉菜单等。每一种组件都有其特定的属性,以
及相对应的事件响应方式。在容器中的组件可以按一定的规则来放置,确定它们的相对位
置关系和前后排列关系等。
除了容器和组件这两大图形用户界面组成部分外,还有一些标志图案或者几何图形,这
些主要是用来突出输出结果和美化组件的。它们不被系统识别,所以不能响应用户的操作
不具有交互功能。
2.AWT 和 Swing
在 Java 语言中,图形用户界面是通过 java.awt 包或者 javax.swing 包中的类来实现
的。java.awt 包一般简称为 AWT ,其含义 是抽象窗口工具箱( Abstract Windows
Toolkit); javax.swing 包一般简称为 Swing,它是 Java 基础类库(Java Fundation
Class,JFC)中的一员。
(1)AWT 提供了多种标准的 GUI 组件,比如标签、文本框、按钮等,以及窗口、面
板等容器。使用 AWT 的布局管理器,可以安排各个组件在容器中的位置。此外,还有前
面介绍的绘制几何图形、设置文字字体、颜色等功能。在 AWT 中,专门有一组类用于响
应并处理外部事件。Java Applet 程序就是属于 AWT 中的一种图形用户界面实现方法。
实际上,AWT 提供给编程人员的只是抽象的窗体界面系统,而在其内部会针对每种操
作系统,分别使用不同的方式来实现图形用户界面。使用这种方式虽然加快了 GUI 的实现
速度,但是因为每种操作系统的组件大小、文字字体和界面布局都不同,所以会造成同一
个程序在不同系统中的图形用户界面效果不同。例如,在 Mac 机上设计的一个友好的程序
图形用户界面,其效果如图 6-1-2(a)所示,将该程序在 PC 机上运行得到的图形用户界
面可能不尽如人意,其效果如图 6-1-2(b)所示。
为了解决 AWT 这个严重的缺陷,Sun 公司在 Java 2(Java 1.4)以后的版本中增加了
javax.swing 包。
(2)Swing 不仅包含了 AWT 中几乎所有的容器和组件,而且增加了很多新的容器和
组件。因为 AWT 中的类已经使用了各个容器和组件的英文名称,所以 Swing 中的类需要
在原有名称前加一个字母 J,以示区别。例如,与 AWT 中 Button 类具有同样功能的
Swing 中的类称为 JButton 类。Swing 中的所有组件都是“轻量级”的,很小巧的;而顶层
容器则是“重量级”的,支持“可插入外观和效果”(Look and Feel)。也就是说,用户界面
的外观可以在不同的平台和不同的操作系统上被动态地改变以符合用户的期望。例如,图
6-1-3 展示了 4 种不同的用户界面外观。
图 6-1-3 Swing 图形界面效果
具有图形用户界面的 Swing 应用程序都具有至少一个顶层容器。Swing 中共有 4 个顶
层容器:JFrame、JDialog、JApplet 和 JWindow。
3.JFrame
JFrame 是最简单最常用的 Swing 顶层容器,它含有一个内容框架(Content Pane)
用来容纳所有的组件。对于菜单组件来说,既可以放置到内容框架内,也可以直接添加到
JFrame 上。这三者的层次关系如图 6-1-4 所示,其图形用户界面示意图如图 6-1-5 所示。
JFrame 的创建、设置和显示方法如下。
JFrame
菜单组件
内容框架
JLabel
JButton
JFrame
菜单组件
内容框架
JLabel
JButton
图 6-1-4 容器和组件的关系 图 6-1-5 示意图
(1)创建 JFrame:创建 JFrame 对象的常用格式有以下两种。
JFrame 对象名=new JFrame();
JFrame 对象名=new JFrame(String s);
如果使用第二种创建形式,则在创建 JFrame 的同时,也设置了其窗口标题的内容。例
如,下面的语句创建了一个 JFrame 对象 f,且其窗口的标题为“欢迎学习 Java 语言”。
JFrame f=new JFrame("欢迎学习 Java 语言");
(2)添加组件:因为大多数组件不可以直接添加到 JFrame 中,所以使用 JFrame 的
对象调用其 getContentPane()方法,返回一个 Frame 的内容框架(Content Pane)对
象,然后再通过调用 add()方法将组件对象添加到内容框架中,格式如下。
JFrame 对象名.getContentPane().add(组件对象名);
(3)JFrame 类中的方法
pack()方法:将 JFrame 的窗口设置为根据其中所含的容器和组件的大小来决定,以能
够容纳每个组件的最佳大小为准。
setSize(w,h)方法:准确设置 JFrame 窗口的大小,其中 w 表示窗口的宽度,h 表示窗
口的高度。
setBounds(x,y,w,h)方法:不仅可以准确设置 JFrame 窗口的大小,而且还可以准确
设置 JFrame 窗口在屏幕中的位置,其中 x 表示窗口左上角的 x 轴坐标值,y 表示窗口左
上角的 y 轴坐标值,w 表示窗口的宽度,h 表示窗口的高度。
setBackground(颜色参数)方法:改变 JFrame 容器的背景颜色。例如,下面的语句
将背景颜色设置为蓝色。
f.setBackground(Color.blue);
setTitle(String s)方法:设置窗口的标题。
setDefaultCloseOperation(参数)方法:用来控制当 JFrame 窗口被关闭后,Swing
应用程序的下一步操作。一般只使用 JFrame.EXIT_ON_CLOSE 作为参数,表示窗口被关
闭后,自动结束程序运行。
(4)显示 JFrame 窗口:完成所有 JFrame 的创建和设置后,需要执行显示 JFrame
窗口的语句,才可以在屏幕上看到程序运行后图形用户界面的效果。显示 JFrame 窗口的
格式有两种,这两种格式的效果是完全一样的。
JFrame 对象名.setVisible(true);
JFrame 对象名.show();
以上是创建和设置 JFrame 最常用的语句,下面的程序可以创建一个最简单的不含任何
组件的 JFrame 窗口。
import javax.swing.*; //导入 Swing 包,以便使用其中的
类
public class Exp
{
public static void main(String args[])
{
JFrame f=new JFrame(); //创建容器 JFrame 的对象 f
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //窗口关闭后
结束程序
f.setBounds(100,100,300,200); //设置其在屏幕中的显示位置及大小
f.setTitle("欢迎学习 Java 语言"); //设置窗口的标题
f.setVisible(true); //显示对象 f
}
}
将上面的程序保存在“我的 Java 程序”文件夹中,然后按照运行 Java Application 的方
法输入命令运行程序,结果如图 6-1-6 所示。
图 6-1-6 JFrame 窗口
剩余16页未读,继续阅读
资源评论
omyligaga
- 粉丝: 54
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功