一、概述
1、GUI相关概述
①GUI:GraphicalUser Interface,即图形用户界面,用于计算机与用户交互的一种方式。用图形的方式,来显示计算机操作的界面,这样更方便更直观。
②java将这种界面封装为对象,放在了两个包中:java.Awt包和javax.Swing包。
- java.Awt包:Abstract Window Toolkit,即抽象窗口工具包。要调用本地系统方法实现功能,属重量级控件。
- javax.Swing包:在AWT的基础上建立的一套图形界面系统。其中提供了更多的组件,且完全由java实现,增强了移植性,属轻量级控件。
2、GUI继承体系图
注: Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。
二、AWT概述
1.布局管理器
①什么是布局管理器?容器中的组件的排放方式,就是布局。
②常见的布局管理器
- FlowLayout:流式布局管理器,从左向右排列。(Panel默认的布局管理器)
- BorderLayout:边界式布局管理器,东南西北中的排列方式。(Frame的默认布局管理器)注:如果窗体中只有一个组件,将会覆盖整个窗体。
- GridLayout:网格式布局管理器,将容器分成n行m列大小相等的网格。
- CardLayout:卡片式布局管理器,即选项卡。
- GridBayLayout:网格包布局管理器,非规则矩阵(一个组件可能占多个格子)。
- 先将窗体Frame进行大区域的划分,设置其布局管理器,加入面板Panel。
- 将组件加入Panel,设置面板的布局管理器。
2、简单的窗体创建过程
①创建Frame窗体:Frame f = new Frame("my Frame"):可设置标题,即窗体名字。②对窗体进行基本设置:如大小,位置,布局等:
- f.setSize(int wight,int hight):窗体大小设置:宽X,高H。
- f.setLocation(int x,int y):窗体显示位置设置,离左边界x,上边界y。
- f.setBounds(int x,int y,int wight,int hight):也可以直接用这个方法对大小和位置设置。
- setVisible(boolean true):设置窗体可见。
- f.setLayout(LayoutManager layout),参数为指定的布局管理器,如FlowLayout。
④将组件通过窗体的add方法添加到窗体中:f.add(b)。
⑤让窗体显示:f.setVisible(boolean b)。
窗体创建的代码演示如下:
import java.awt.*;
class FrameDemo{
public static void main(String[] args){
Frame f = new Frame("my frame");
f.setSize(500, 400);
f.setLocation(400, 200);
f.setBounds(400, 200, 500, 400);
f.setLayout(new FlowLayout());//设置流式布局
Button but = new Button("一个按钮");
f.add(but);//将按钮添加到窗体中。
f.setVisible(true);
}
}