创建窗口是 AWT 编程的第一步,窗口是所有组件和面板的容器。
在 Java AWT 中,我们使用 Frame 类来创建窗口。Frame 中文字意是“框架”,它的主要功能是建立窗口。
AWT 建立窗口的步骤如下:
设计 Frame 类对象,建立空白窗口;
建立此 Frame 对象的组件。
下面是 Frame 类的构造方法。
构造方法
说明
Frame( )
建立没有标题的窗口
Frame(String title)
建立标题为 title 的窗口
下列是 Frame 类常用的方法。
方法
说明
String getTitle( )
取得窗口标题
void setTitle(String title)
设置窗口标题
Image getIconImage( )
取得窗口最小化时的图标
void setIconImage(Image img)
设置窗口最小化时的图标
void setMenuBar(Menubar menubar)
设置菜单对象为 menubar
void remove(Menubar menubar)
移除菜单对象 menubar
boolean isResizeable( )
如果可更改窗口大小返回 true
void setResizeable(boolean bool)
设置是否可更改窗口大小
【示例 1】
建立一个标题是“我的第一个 AWT 窗口程序”,width=200,height=150 的空白窗口。
package chapter1;
import java.awt.*; // 引入类库
public class ch1 {
public static void main(String[] args) {
Frame frm = new Frame("我的第一个AWT窗口程序");
frm.setSize(200, 150); // 宽200, 高150
frm.setVisible(true); // 显示窗口
}
}
程序运行后,结果如下,下方右图是放大窗口后的结果。
上述窗口执行时默认是在屏幕左上角出现,由于宽度不够所以标题没有完整显示,可以放大或缩小窗口,也可以将窗口缩到最小。但是若是单击“关闭”按钮没有作用,这是属于窗口事件处理(Event Handling),如果现在想要关闭窗口,可以返回命令提示信息窗口,然后按 Ctrl+C 组合键。
上述程序是将 Frame 对象放在 main( ) 内,对上述程序而言,可以将 Frame 视为 ch1 类 main( ) 方法内的成员变量,设计窗口程序时也可以将 Frame 设为 ch1 类的成员变量,可参考下列实例。
【示例 2】
更改设计 Frame 对象方式,将 Frame 对象设为 ch2 类的成员变量,这个程序同时将窗口位置设为(200,100),同时设置窗口背景颜色是黄色,这个程序第 10 行设置窗口名称,这并不是指窗口标题,而是未来执行更复杂窗口程序时调用的名称,同时程序也会在命令提示符窗口列出一些窗口的相关信息。
package chapter1;
import java.awt.*; // 引入类库
public class ch2 {
static Frame frm = new Frame("ch2");
public static void main(String[] args) {
frm.setSize(200, 152); // 宽200, 高152
frm.setBackground(Color.yellow); // 窗口背景是黄色
frm.setLocation(200, 100); // 左上角坐标(200, 100)
frm.setVisible(true); // 显示窗口
frm.setName("myWin"); // 窗口名称
// 取得窗口状态图
System.out.println("窗口x轴坐标:" + frm.getX());
System.out.println("窗口y轴坐标:" + frm.getY());
System.out.println("窗口高度:" + frm.getHeight());
System.out.println("窗口宽度:" + frm.getWidth());
System.out.println("窗口名称:" + frm.getName());
System.out.println("窗口背景色:" + frm.getBackground());
}
}
程序运行后,结果如下:
窗口x轴坐标:200
窗口y轴坐标:100
窗口高度:152
窗口宽度:200
窗口名称:myWin
窗口背景色:java.awt.Color[r=255,g=255,b=0]