Java UI设计及图形功能
1.抽象窗口工具集 A W T AWT AWT
J
a
v
a
.
a
w
t
Java.awt
Java.awt包中包括了一个完整的类集以支持
G
U
I
GUI
GUI程序的设计。
顶层容器
F
r
a
m
e
Frame
Frame是
W
i
n
d
o
w
Window
Window的子类,具有边界和标题栏设置,其大小允许调整,可以有菜单栏。
1.
L
a
b
e
l
Label
Label 产生标签,构造方法有两种:
Label(String text)
Label(String text,int alignment)
第一个参数是定义文本内容,第二个参数是指定标签排列位置,如Label.CENTER
2.边界布局BorderLayout
是
F
r
a
m
e
Frame
Frame的默认布局。
可以使用add()
方法向容器中添加标签。
也可以使用setLayout()
方法设置其他布局。
如:setLayout(new FlowLayout());
(流布局)
add("East",lb1); //定位名称East是固定的,其他相同
add("West",lb2);
add("North", lb3);
add("South", lb4);
add("Center", lb5);
在写程序的时候,我们定义一个 F r a m e Frame Frame容器的子类即可。
package Exp6;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/*
* 顶层容器Frame;使用默认布局BorderLayout;未使用中间容器;窗口监听
*/
public class TestAWT1 extends Frame {
private static final long serialVersionUID = 1L;
public TestAWT1() { //构造方法
Label lb1, lb2, lb3,lb4,lb5; //基本控件
//若标签内容为中文,则运行时出现中文乱码【使用JLabel则不会】
lb1 = new Label("11");
lb2 = new Label("22");
lb3 = new Label("33",Label.CENTER);
lb4 = new Label("44",Label.CENTER);
lb5 = new Label("55",Label.CENTER);
//BorderLayout是Frame的默认布局
//setLayout(new BorderLayout());
add("East",lb1); //定位名称East是固定的,其他相同
add("West",lb2);
add("North", lb3);
add("South", lb4);
add("Center", lb5);
//更改默认的布局为流式布局FlowLayout
/*setLayout(new FlowLayout());
add(lb1); //向容器添加组件
add(lb2);add(lb3);
add(lb4);add(lb5);*/
}
public static void main(String args[]) {
TestAWT1 w = new TestAWT1(); //创建窗口对象
w.setTitle("测试AWT");
// 窗口的标题
w.setBackground(Color.RED);
// 窗口的背景颜色
//w.pack(); //类Window定义的方法pack()——让窗口适合组件大小
//指定窗口大小时不使用pack()方法,否则是后者覆盖前者
w.setSize(480, 400);
// 窗口的像素大小 宽 高
w.setVisible(true); //类Window定义是否可见方法setVisible()
// 设置组加可见,这个必须使用到,不然窗口显示不出来
w.addWindowListener(new WindowAdapter() {
//创建接口WindowListener的匿名实现类对象较标准
//WindowAdapter是WindowListener的抽象实现类,使用更加简便
public void windowClosing(WindowEvent e) {
System.exit(0); //关闭窗口
}
});
// 使用窗口监听,用抽象实现类重写windowClosing 方法
}
}
效果图: