AWT(抽象窗口工具包)是JAVA提供的建立图形用户界面GUI的开发包,可用于JAVA的Applet和Application中
——————————————
JAVA.awt包提供了设计GUI使用的类和接口
组件是java图形用户界面最基本的组成部分,可与用户交互,如一个按钮,标签
注意:必须将组件放到容器中才能显示出来
java.awt.Component是众多组件类的父类,也封装了很多组件通用的方法和属性,如
图形的组件对象,大小,显示位置,前景色等等,一些重要的成员方法如下:
getComponentAt(intx,inty); //获得坐标(x,y)上的组件对象
getFont(); //获得组件字体
getName(); //获得组件的名字
getSize(); //获得组件大小
paint(Graphics); //绘制组件
repaint(); //重新绘制组件
update(); //刷新组件
setVisible(Boolean b); //设置组件是否可见
setSize(Dimension d); //设置组件大小
setName(String name); //设置组件名称
java.awt.Container是Component的子类
一个容器可容纳多个组件,并使它们成为一个整体,所有组件都可通过==add();==方法加入容器中。常用容器如下:
import java.awt.*;
public class FirstFrame extends Frame{
public static void main(String args[]) {
FirstFrame f = new FirstFrame("helloWorld"); //创建对象
f.setSize(240, 240); //窗口大小
f.setBackground(Color.blue); //窗口背景
f.setVisible(true); //设置窗口是否可见,默认不可见
}
public FirstFrame (String str) {
super(str); //构造器,传入窗口标题
}
}
像一块透明的玻璃,但不同于窗口,必须将面板引入别的容器中方可使用
import java.awt.*;
public class PanelInFrame extends Frame{
public static void main(String args[]) {
PanelInFrame p = new PanelInFrame("helloWorld");
Panel pan = new Panel(); //添加面板
p.setSize(500, 500);
p.setBackground(Color.darkGray);
p.setLayout(null);
pan.setSize(200,200);
pan.setBackground(Color.gray);
p.add(pan); //biubiubiu
p.setVisible(true);
}
public PanelInFrame(String a) {
super(a);
}
}
管理组件的排列顺序,大小,位置等
Panel和Apple的默认布局管理器
规律:从上到下,从左到右依次摆放控件
Window,Frame,Dialog的默认管理器
规律:将容器分为五个部分,North,Sorth,East,Center,每个空间只能摆放一个控件
规律:使容器中的组件呈网格布局,平均占据容器空间
规律:帮助用户处理两个及以上的成员共享一个空间(可以理解为点击一个按钮后显示另一个页面)
常用构造方法:
CardLayout();
CardLayout(int hgap,int vgap);
常用方法:
Frist(Container parent); //显示第一张卡片
last(Container parent); //显示最后一张卡片
next(Container parent); //显示下一张卡片
previous(Container parent); //显示上一张卡片
show(Container parent,String name); //显示指定名称的卡片
操作实例:
import java.awt.*;
import java.awt.event.*;
public class Card implements ActionListener{
private Panel p1,p2,p3; //面板
private Frame f; //窗口
private Button b1,b2,b3;
private CardLayout CL = new CardLayout();
public void create() {
b1 = new Button("你是谁?"); //新建三个按钮
b2 = new Button("你想干啥");
b3 = new Button("你瞅啥");
p1 = new Panel(); //新建三个面板
p2 = new Panel();
p3 = new Panel();
f = new Frame("嘿,那小孩"); //新建一个窗口
p1.add(b1); //把按钮放到面板中
b1.addActionListener(this); //为按键注册监听器
p2.add(b2);
b2.addActionListener(this);
p3.add(b3);
b3.addActionListener(this);
f.setLayout(CL);
f.add(p1,"first");
f.add(p2,"second");
f.add(p3,"next");
f.setSize(500,500); //设置窗口大小
f.setVisible(true); //窗口是否可见
}
public static void main(String[] args) {
Card C = new Card();
C.create();
}
@Override
public void actionPerformed(ActionEvent arg0) { //点击按键时跳转到下一个页面
// TODO Auto-generated method stub
CL.next(f);
}
}