GUI之AWT( Abstract Window ToolKit)
抽象窗口工具包
java.awt
Class Component
- java.lang.Object
-
- java.awt.Component
-
-
All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable
所有可以显示出来的图形元素,都叫Component.
java.awt
Class Container
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
-
All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable
-
Direct Known Subclasses:
- BasicSplitPaneDivider, CellRendererPane, DefaultTreeCellEditor.EditorContainer, JComponent, Panel, ScrollPane, Window
Container用来容纳其他Component的元素。
Window可以独立显示的窗口,
Panel面板,可以容纳其他的元素,一般你看不见它。
Frame框架,窗口;
Dialog对话框。
Applet支程序,小程序,被AJAX替代。
两种常用的Containter:
Window:自由停泊的顶级窗口;
Panel:不能独立存在,必须被天加到其他Containter中。非顶级窗口。
java.awt
Class Color
- java.lang.Object
-
- java.awt.Color
Color类,颜色类。
java.awt
Class Frame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
-
All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible
-
Direct Known Subclasses:
- JFrame
实例:
TestFrame.java
/* 范例名称:Frame 应用举例
* 源文件名称:TestFrame.java
* 要 点:Frame组件的创建及显示设置
*/
import java.awt.*;
public class TestFrame {
public static void main( String args[]) {
//Frame是Window的子类,有Frame或其子类创建的对象为一个窗体
//创建标题栏为My First Test的窗口
Frame f = new Frame("My First Test");
//设置窗体大小,x,y是宽度和高度
f.setLocation(300, 300);
//设置窗口位置,x,y是左上角坐标。
f.setSize( 170,100);
//设置背景色为蓝色
f.setBackground( Color.blue);
//设置为不可改变大小
f.setResizable(false);
//设置是否可见,true代表可见
f.setVisible( true);
}
}
命令行Ctrl+C,关闭窗口。
TestMulitFrame.java
import java.awt.*;
public class TestMultiFrame {
public static void main(String args[]) {
MyFrame f1 =
new MyFrame(100,100,200,200,Color.BLUE);
MyFrame f2 =
new MyFrame(300,100,200,200,Color.YELLOW);
MyFrame f3 =
new MyFrame(100,300,200,200,Color.GREEN);
MyFrame f4 =
new MyFrame(300,300,200,200,Color.MAGENTA);
}
}
class MyFrame extends Frame{
static int id = 0;
MyFrame(int x,int y,int w,int h,Color color){
super("MyFrame " + (++id));
setBackground(color);
//将Frame自己内部的布局管理器设为空
setLayout(null);
//设置窗口的位置(x,y)和大小(w,h),
setBounds(x,y,w,h);
setVisible(true);
}
}
关闭窗口Ctrl+C,