在AWT中,所有能在屏幕上显示的组件对应的类,均是抽象类Component的直接或间接的子类,(Component-->Container),Container包含Panel和Window类,Container类是Component的子类,他也是抽象类,它允许其他的组件加入其中。加入的Component也允许时Container类型,即允许多层嵌套的层次接头。Container类在组建以合适的形式安排在屏幕上时很有用,它有两个子类,Panel和Window,他们不是抽象类。
window对应的类为java.awt.Window,他可以独立于其他Container而存在,它有两个子类:Frame和Dialog。Frame是具有标题和可调整大小的窗口(Window)。Dialog则没有菜单条,虽然它能移动,但不能调整大小。滚动面板(ScrollPane)也是Window类的子类。
Pane对应的类为java.awt.Panel,它可包含其他Container类型的组件,或包含在浏览器窗口中。Panel表示了一个矩形区域,该区域允许其他组件放入。Panel必须放在Window或其子类中才能显示。
AWT中很重要的一类组件是菜单,但是他不是从Component继承而来,而是从MenuCompone那天继承而来,这是因为菜单的外形和使用方法和其他的可视化组件有很大的区别。
示例:
package title;
import java.applet.Applet;
import java.awt.*;
public class demotoolbar extends Applet{
Label myLabel;
List myList;
Button myBtn;
Choice myChoice;//复选框
TextField myText;
Panel myPanel;
Checkbox myChk1,myChk2;
Scrollbar myScrollbar;
Container con;
public void init()
{
con = new Container();
myLabel = new Label("Label 标签");
myList = new List(3);
myList.add("List");
myList.add("列表");
myList.add("只显示三行");
myPanel = new Panel();
myPanel.setBackground(Color.red);
myChk1 = new Checkbox("Checkbox");
myChk2 = new Checkbox("复选框");
myBtn = new Button("Button-按钮");
myText = new TextField("TextField");
myChoice = new Choice();
myChoice.add("Choice");
myChoice.add("下拉列表");
myScrollbar = new Scrollbar(Scrollbar.HORIZONTAL,0,10,0,30);
//设置布局为3行3列
con.setLayout(new GridLayout(3,3));
//将上述可视化组件添加到容器中
con.add(myLabel);
con.add(myList);
con.add(myPanel);
con.add(myChk1);
con.add(myChk2);
con.add(myBtn);
con.add(myChoice);
con.add(myText);
con.add(myScrollbar);
add(con);//将容器加入到Applet对象中
}
}
原文:http://2172006.blog.51cto.com/2162006/1586616