AWT编程相关的类都放在java.awt包及其它的子包中,AWT有两个基类:Component和MenuComponent,其中前者是代表一个以图形化的方式显示出来,并可以和用户交互的对象,其中AWT各个组件之间的继承关系
除此之外:AWT图形用户界面编程里面还有两个重要的概念:Container和LayoutManager,其中前者是一种特殊的Component,它代表一种容器,可以盛装普通的Component,而LayoutManager则是容器管理其他组件布局的方式,,
以下是AWT容器的继承关系:
AWT主要提供了如下两种主要的容器累心
1.Window:可独立存在的顶级窗口
2:Panel:可作为容器容纳其他组件,但是不能独立存在,必须被添加到其他容器中
相关代码如下:
package awtPackage;
import java.awt.Frame;
public class FrameTest {
public static void main(String[] args) {
Frame f= new Frame("测试窗口");
f.setBounds(100, 100, 100,100);
//TODO:该处不知道如何设置将创建的窗口关闭
f.setVisible(true);
}
}
package awtPackage;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;
/**
* panel是AWT中另一个典型的容器,它代表不能独立存在,必须放在其他的容器中的容器
* @author duanhongyan
*
*/
public class PanelTest {
public static void main(String[] args) {
//定义一个Frame对象,该对象是一个窗口
Frame f= new Frame("测试窗口");
/**
* Panel容器的特点
* 1.可以作为容器来盛装其他组件,为放置组件提供空间
* 2.不能单独存在,必须放置到其他容器中
* 3.默认使用FlowLayout作为其布局管理器
*/
Panel p= new Panel();
p.add(new TextField(20));
//TODO:该处会有中文乱码的问题还没有解决
p.add(new Button("中文"));
f.add(p);
f.setBounds(30, 30, 250, 120);
f.setVisible(true);//Frame对象默认处于隐藏状态
}
}