13 java中的 GUI编程

1. GUI编程介绍

AWT(Abstract Window Toolkit)包括了很多类的接口,用于Java Application的GUI(Graphics User Interface图形用户界面)编程。

13 java中的 GUI编程

GUI编程主要包括:

  1. AWT与Swing;
  2. 如何创建图形界面;
  3. 布局管理器

2. 部分组件

13 java中的 GUI编程
JTextField 单行文本框
JTextArea 多行文本域
JLabel 标签
JComboBox 下拉列表
JCheckBox 复选
JRadioButton 单选
JButton 按钮

3. java.awt包和java.swing包

java.awt包是java内置的包,要使用该包中的类,则必须显式地声明语句:import java.awt.*。其中包括以下内容:

  1. 便于用户输入的一组丰富的界面组件;
  2. 将组件放置在适当位置的几种布局管理器;
  3. 事件处理模型;
  4. 图形和图像工具等等。

java.swing具有跨平台性。而且能绘制比AWT更丰富的图形界面。Swing包中控件类的体系结构:
13 java中的 GUI编程
Swing是纯java组件,使所有的应用程序在不同的平台上运行时具有本机外观和相同的行为。
java.Swing包包含了一系列Swing控件,如果要使用该包中的类,则必须显式地声明如下语句:import javax.swing.*;java.Swing包中控件类的体系结构:
13 java中的 GUI编程

4. 组件类与容器类

组件(Component):基本图形元素,如按钮,文本框,文本域,多选按钮,单选按钮等。
容器(Container):可以容纳组件的区域,在容器上可以添加别的组件。如:Frame,Window等。
注意:容器中可以容纳组件,也可以容纳比它“容量级别小”的容器。

有两种类型的容器:Window和Panel
Window是能够独立存放的容器,Window得子类有Frame和最常用的窗体Dialog。对话框Panel不能单独存在,必须放入Window或其子类中

5. Swing GUI框架

13 java中的 GUI编程

1)顶层容器:

  • JFrame:用于框架窗口的类,此窗口带有边框、标题、用于关闭和最小化窗口的图标等。带GUI的应用程序通常至少使用一个框架窗口。
  • JDialog:用于对话框的类。
  • JApplet:用于使用Swing组件的java.Applet的类(在Java Applet中,可以实现图形绘制、字体和颜色控制、动画和声音的插入、人机交互及网络交流等功能.Applet还提供各种名为抽象窗口工具箱 )

1)中间容器:

  • JPanel:最灵活、最常用的中间容器。
  • JScrollPane:与JPanel类似,但还可在大的组件或可扩展组件周围提供滚动条。
  • JTablePane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。
  • JToolBar:按行或列排列一组组件(通常是按钮)

6. Java.Swing.JFrame

JFrame常用方法:
13 java中的 GUI编程

7. JPanel容器

  1. JPanel是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内。
  2. JPanel只能存在于其他的容器(Window或其子类)中,一般被放在JFrame中。
  3. JFrame可以被划分为若干个JPanel,然后在JPanel上进一步进行组件的布局
  4. 面板的默认布局管理器是FlowLayout布局管理器
  5. 不能为JPanel设置标题

java.Swing.JPanel的常用方法
13 java中的 GUI编程

8. 布局管理器

布局管理器作用:决定组件在容器上如何摆放; 决定组件的大小;
Frame的默认布局管理器是BorderLayout;
JAVA中常用的布局: FlowLayout(流式布局) BorderLayout(边框布局) GridLayout(网格布局) GridBagLayout(网格包布局) CardLayout (卡片布局)