高级程序设计语言(Java版)10 图形用户界面
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Object
Component Container
JComponent AbstractButton
JButton JMenuItem
JRadioButton JCheckBox
JList JOptionPane
JToggleButton
JButton
JPopupMenu JTextComponent JMenuBar
JFrame jf = new JFrame("JPanel"); jf.setSize(300, 200); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); jf.setResizable(false); jf.setLocationRelativeTo(null); jf.setLayout(null); // 实例化一个面板 JPanel p = new JPanel();
MenuComponent MenuBar MenuItem
Window
Menu
Applet
Frame Dialog
图10-1 AWT组件的继承关系图
Swing是为了解决AWT存在的问题而新开发的 包。Swing的构建是基于AWT之上的一套全新 图形界面系统(如图10-2 Swing类的继承关 系图),它提供了AWT所能够提供的所有功 能,并且用纯粹的Java代码对AWT的功能进 行了大幅度的扩充和改进。
JPanel的构造方法如下:
JPanel ObjectName = new JPanel();
【实例10-2】JPanelTest.java
import javax.swing.*; import java.awt.*; class JPanelTest {
public static void main(String[] args) throws Exception {
容器(Container)也是一个类,实际上是 Component的子类,因此容器本身也是一个组件, 具有组件的所有性质,但是它的主要功能是容纳其它 组件和容器。容器不仅可以简化图形化界面的设计, 以整体结构来布置界面。而且,所有的容器都可以通 过add()方法向容器中添加组件。
JFrame和JPanel都属于swing包下的类,它们都是 容器组件。在swing包下的所有组件名称都在原来名 字的前面加了一个“J”。
JMenuItem JMenuItem
JPasswordField
JScrollPane
JLabel
JPanel 图10-2 swing类的继承关系图
Java语言的图形用户界面设计一般使用AWT和Swing组件来 实现。其程序设计的基本步骤大致分为五个部分:
引入常用的包。如:java.awt.*, javax.swing.event.*, javax.swing.*等。 Leabharlann Baidu置顶层容器。一般会选择JFrame(Frame)作为顶层 容器。 设置布局管理器。常用的布局管理器有FlowLayout, BorderLayout, CardLayout, GridLayout, GirdBagLayout, BoxLayout等。 利用add()方法向容器中添加组件。 对组件进行必要的事件处理。
// 实例化Point对象 Point p = new Point(300, 200); f.setLocation(p); f.setVisible(true); } } 运行结果:
10.2.2 JPanel面板容器
Java语言中的JPanel组件属于容器组件, JPanel与JFrame相同,也是一种用途广泛的容 器。与JFrame不同的是,面板不能独立存在, 必须被添加到其他容器内部。但是,面板可以嵌 套,可以在面板内放置按钮、文本框等各种非容 器组件,由此可以设计出复杂的图形用户界面。
10.1 AWT和Swing简介 10.2 Swing容器 10.3 布局管理器 10.4 Swing组件 10.5 事件处理 10.6 图形处理 10.7 习题
图形用户界面(Graphical User Interface, GUI),使用图形方式借助菜单、按钮等标准 界面元素和键盘、鼠标操作,实现人机交互。
10.2.1 JFrame顶层容器 JFrame是Java图形用户界面中最顶层的容器之 一。窗口是最基本的用户界面元素。框架窗口是 一种窗体,其中带有边框、标题栏及用于关闭和 最大/最小化窗口的图标等。在GUI的应用程序中, JFrame在图形用户界面中的表现形就是窗口。 JFrame构造方法主要有如下两种方式:
AWT(Abstract Windowing Toolkit),中文译 为抽象窗口工具包,是Java提供的用来建立 和设置Java的图形用户界面的基本工具。
Button Checkbox
Componen t
其他组件
TextComponent TextArea TextField
Panel
Container
public static void main(String[] args) { JFrame f = new JFrame(); f.setTitle("JFrame");
// 实例化Dimension对象 Dimension dim = new Dimension(350, 250); f.setSize(dim);
JFrame ObjectName = new JFrame(); JFrame ObjectName = new JFrame(String
title);
【实例10-1】JFrameTest.java
import java.awt.Dimension; import java.awt.Point; import javax.swing.JFrame; public class JFrameTest {
// 设置面板背景色为蓝色 p.setBackground(Color.BLUE); p.setSize(150, 100); // 将面板添加到窗体中 jf.getContentPane().add(p);