4.4 建 立 窗 口Java程 序 基 本 框 架
Frame介 绍 在Java语 言 里,Frame类 的 功 能 是 创 建 图 形 用 户 界面(GUI)的 基 本 窗 口。 在 典 型 浏 览 器 里, Frame类 是 显 示GUI的 父类。
类 的 层 次 结 构 如 下: java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Frame
Frame是 从 没 有 边 框 和 菜 单 条 的 空 白 窗 口 ?copy; 充 来 的。这 种 窗 口 主 要 用 在 弹 出 式 窗 口 方 式 下。 Frame给 窗 口 一 个 边框, 一 个 布 局 和 一 个 窗 口 条。
你 可 以 通 过 创 建 自 己 的 多 个Frame来 创 建 图 形 用 户 界 面 的应 用 程 序。 我 们 已 知 道 怎 样 建 立 独 立 的java应 用 程 序, 那 么怎 样 将 各 种 迷 人 的 图 形 结 合 在 一 块 呢? 我 们 通 过 建 立 一个Frame来 实 现 这 个 功 能。Frame让 我 们 访 问 窗 口, 和applet工 作区 有 许 多 相 同 的 地 方。 下 面 是 一 个 小 的 应 用 程 序, 它 弹 出一 个 框 架 并 且 在 框 架 里 显 示 信 息。(信 息 可 以 是 命 令 行 参数, 也 可 以 是 缺 省 的 信 息?copy;。 如 果 你 在 窗 口 里 点 一 下,程 序 退 出。
基 本 框 架 程 序 import java.awt.*;
/* * Memo.java *A simple stand-alone graphical application */
public class Memo extends Frame { publc String motd;
public Memo(String s) { //set our title super("Memo Frame");
motd = s; resize(300,300); }
public Memo() { this("This is a Memo"); }
public void paint(Graphics g) { g.drawString(motd,15,15); g.drawString("Click anywhere to Exit",15,25); }
public void start() { show(); }
public boolean mouseDown(Event e,int x,int y) { //hide the window hide(); //free up system resources dispose(); //Quit the app. System.exit(0); return false; }
public static void main(String args[]) { Memo m; if (args.length > ) { m = new Memo(args[0]); } else { m = new Memo(); } m.start(); } }