当前位置:文档之家› §4.1 图形用户界面和Swing常用组件

§4.1 图形用户界面和Swing常用组件


§4.1 图形用户界面和Swing常用组件
内容提要 :
图形用户界面(Graphics User Interface,简称GUI)画面生动、操作简单, 省去了字符界面用户必须记忆各种命令的麻烦,所以深受广大用户喜爱 和欢迎。在Java中,可以使用AWT技术与Swing技术进行图形用户界面 开发。本小节的主要内容包括:
下图对JComponent分支做了细化,描述了JComponent层 次下的用户界面处理组件和用户界面容器组件。
Component Container JComponent
JComboBox JLabel
JTextComponent JPopupMenu AbstractButton JPanel JList
(2) Javax.swing. JPasswordField类的常用方法有: JPasswordField (String text) JPasswordField (String text, int columns) void setEchoChar(char c)
(3) Javax.swing. JTextArea类的常用方法有: JTextArea(String text) JTextArea(String text, int rows, int columns) void setLineWrap(boolean wrap)
JTextField和JPasswordField提供一个处理单行文 本的区域,用户可以通过键盘在该区域中输入 文本,或者程序将运行结果显示在该区域中。 JPasswordField是JTextField的子类,主要用于用 户密码的输入,因此它会隐藏用户实际输入的 字符。与JTextField(包括JPasswordField)只能处 理单行文本不同,JTextArea可以处理多行文本。
JScrollPane(Component view)
void setHorizontalScrollBarPolicy(int policy)
void setVerticalScrollBarPolicy (int policy)
4.1.3 Swing常用组件
8.JTextField、JTextArea和JPasswordField
4.1.3 Swing常用组件
7.JScrollPane 滚动条(Scroll Bar)是一种直观而简单的控制组件,可以
用它来实现窗口的滚动。在Swing中,JScrollPane类用 来实现滚动条。默认情况下,JScrollPane只在需要滚动 条的时候才显示它们。 Javax.swing. JScrollPane类的常用方法有:
JCheckBox类的常用方法有: JCheckBox (String text) void setLabel(String text) void setSelected(boolean b)
4.1.3 Swing常用组件
5.JRadioButton
单选按钮(JRadioButton)与复选框的相同之处在于它们也有两种状态:选 中和未选中。然而,单选按钮通常是成组出现,一次只能选中该组中的 一个单选按钮,也就是说,选择一个单选按钮将迫使该组的所有其它按 钮都处于未选中状态。Javax.swing.ButtonGroup类负责组织一组按钮(包 括JRadioButton、JCheckBox、JButton等),并维护这些按钮间的逻辑关 系。需要注意的是,必须用ButtonGroup类将一组相关的单选按钮组织 起来,否则这组单选按钮就不是“单选”的了,而是象复选框一样可以 同时选择多个。
4.1.3 Swing常用组件
3.JButton JButton类用于创建普通按钮。按钮表面所显示的文本称为按钮标签。在一
个图形界面中可以有多个按钮,但应该确保为每个按钮提供唯一的按钮 标签,否则会使用户感到迷惑。另外,按钮也支持显示图标。 Javax.swing. JButton类的常用方法有:
Javax.swing. JRadioButton类的常用方法有:
JRadioButton (String text)
void setLabel(String text)
void setSelected(boolean b)
4.1.3 Swing常用组件
6.JComboBox 组合框提供一列选项,用户可以在这些选项中进行单项
CellRendererPane
JComponent
Java.awt.Panel
Java.awt.Window
容器类组件 处理类组件 Java.applet.Applet Java.awt.Dialog Java.awt.Frame JWindow
JApplet
JDialog
JFrame
4.1.1 AWT与Swing
项目引入
HNS软件学院开发部应学院财务处的要求为其 开发一套计算器软件,要求实现一些财务方面 的计算功能。在前面对Java语言的基础知识学 习的前提下,使我们具备了编制该计算器软件 的基本能力。但是,不能提供一个操作简便、 直观的图形化交互界面。因此,为了改进计算 器的交互界面,需要使用Java中GUI功能来加以 改进交互界面。现指派您使用本章将要学习的 有关Java的GUI技术实现计算器软件交互界面的 改进。
1.AWT与Swing介绍
2.容器的基本概念
3.Swing常用组件介绍:JFrame、JLabel、JButton、JCheckBox、 JRadioButton、JComboBox、JScrollPane、JTextField、JTextArea和 JPasswordField。
4.1.1 AWT与Swing
Button Canvas CheckBox Choice Label
List TextComponent Scrollbar
Container
Panel Applet
Window
Frame
Dialog
4.1.1 AWT与Swing
使用AWT设计的界面在不同的平台上有可能有不同的显 示效果。为了解决这个问题,在Java2中发布了Swing组 件。使用Swing组件的程序运行在不同的平台上时,都 会有相同的显示外观。Swing组件允许程序员为所有的 平台指定统一的外观和感觉,或者为每个平台提供定 制的外观和感觉。另外,和AWT相比,Swing提供了许 多新的图形界面组件,不但有各式各样先进的组件, 而且更为美观易用。虽然Swing似乎看起来比AWT有更 大的优势,但程序员究竟是选择AWT组件还是Swing组 件,可能需要根据实际的软件开发而定。
4.1.3 Swing常用组件
2.JLabel 标签可以用来显示文本信息和图标。在Swing中,标签由JLabel来定义。 Javax.swing.JLabel类的常用方法有: JLabel(String text) JLabel(Icon image) Jlabel(String text, Icon icon, int horizontalAlignment) void setText(String text) void setIcon(Icon icon) void setToolTipText(String toolTipText) setHorizontalTextPosition(int textPosition) setVerticalTextPosition(int textPosition)
选 择 。 在 Swing 中 , 组 合 框 由 JComboBox 类 实 现 。 Javax.swing. JComboBox类的常用方法有: JComboBox(Object[] items) void addItem(Object object) void setSelectedIndex(int index) void setMaximumRowCount (int count)
图形用户界面(Graphics user interface),简称GUI,它以图形 的方式,借助菜单、按钮等标准图形界面元素和鼠标操作, 帮助用户向计算机系统发出命令,并以图形的方式将命令 执行结果反馈给用户 。
设计和实现用户图形界面主要有两方面的工作:
①创建组成界面的各部分和元素,指定它们的属性和位置关 系,根据具体需要排列它们,从而构成g
Swing是架构在AWT之上的,没有AWT就没有Swing。 Swing是AWT的扩展,Swing组件都是AWT的Container 类的直接子类和间接子类。下图描述了Swing的层次结 构:
ng.Object
ponent
Java.awt.Container
②定义图形用户界面的事件和各界面元素对不同事件的响 应,从而实现图形用户界面与用户的交互功能。(关于事 件的概念,请参看本章第四节的相关内容。)
4.1.1 AWT与Swing
AWT(Abstract Window Toolkit)的全称是抽象窗 口工具集。 AWT的层次关系如下图:
ponent
add(Component c)
add(Component c, int index)
remove(Component c)
remove(int index)
setLayout(LayoutManger m)
4.1.3 Swing常用组件
1.JFrame
JFrame是一个顶层容器,它的外观就像我们平常在Windows操作系统下 见到的窗口,有标题、边框、菜单、大小等等。JFrame 窗口由三部分 组成:Frame(框架)、 Menu Bar(菜单栏)和Content Pane(内容面板)。在 菜单栏中可以添加各种菜单及子菜单,在内容面板可以添加各种常见 Swing组件。
JButton(String text) JButton(Icon icon) void setLabel(String text)
相关主题