您的位置:首页 > 编程语言 > Java开发

第二讲 Java组件容器

2008-05-21 03:18 155 查看
google_ad_client = "pub-8800625213955058";

/* 336x280, 创建于 07-11-21 */

google_ad_slot = "0989131976";

google_ad_width = 336;

google_ad_height = 280;

//

教 学 纲 要

这 一部 分 的 内 容 确 实 是 复 杂 了 一 些 , 不 过 不 要 紧 , 浏 览 过 这一

部 分 之 后 , 我 们 马 上 就 有 几 个 又 生 动 又 简 单 的 小 程 序来 帮 助 你 学 习。 实 践 出 真

知 ” , 你 很 快 就 会 学 会 的 , 不要 太 着 急 嘛 !?/font>



3. 组件 容 器 ( Container)

组 件容 器 是 一 种 比 较 特 殊 的 组 件 , 它 可 以 包 含 其 他 的 组 件 。我 们 可 以 把 组

件 放 在 组 件 容 器 中 。 反 之 , 如 果 一 个 组 件不 是 组 件 容 器 , 则 其 中 不 能 包 含 其

他 的 组 件 。


组 件 容 器 也 是 一 种 组 件 , 所 以 一 个 组 件 容 器 可 以 放 在 另一 个 组 件 容 器 中 。

> 组 件容 器 的 出 现 使 得 事 情 变 得 复 杂 了 起 来 。 我 们 可 以 把 组 件放 在 组 件 容 器

里 , 也 可 以 把 组 件 容 器 放 在 另 一 个 组 件 容器 里 , 这 样 就 形 成 了 有 层 次 的 组 件

结 构 。 我 们 可 以 把 普通 的 组 件 想 像 成 为 鸡 蛋 , 而 把 组 件 容 器 想 像 成 为 篮 子 。那

么 , 鸡 蛋 可 以 放 在 小 篮 子 里 , 小 篮 子 和 别 的 鸡 蛋 又 可以 放 在 大 篮 子 里 。 于 是

, 篮 子 里 可 以 有 鸡 蛋 , 还 可 以 有其 他 的 篮 子 … 也 许 事 情 会 变 得 像 下 面 这 样 :



父 亲、 儿 子 和 孙 子

在 AWT 这 个 大 家 族 里 , 有 着 复 杂 的 继 承 关 系 , 怎 么 可 以 不 搞 清楚 ?

先 看 看 一 部 分 家 族 的 继 承 关 系 表 吧 :

从 下面 家 谱 可 以 看 出 AWT 中 的 类 实 在 是 家 族 昌 盛 , 父 生 子 、 子生 孙 、 孙 又

生 子 , 子 子 孙 孙 , 颇 有 些 繁 荣 哩 。



图 13.2 AWT 的 类 层 次



呀 ! 怎 么 我 看 到 在 这 个 大 家 族 的 成 员 里 面 有 类 Applet ( 小应 用 程 序 ) ? 难

道 我 们 编 写 的 用 ?www 浏 览 器 上 的 小 应 用程 序 都 是 源 于 这 里 吗 ?

当 我们 编 写 小 应 用 程 序 的 时 候 , 程 序 的 结 构 总 是 这 样 的 :

public class 程 序 名 extends java.applet.Applet { }

这 样一 来 , 我 们 就 把 applet 程 序 和 AWT 的 窗 口 环 境 结 合 在 一 起了 。 ( 是 不

是 觉 得 AWT 一 下 子 身 价 倍 增 ? )

类 Container 的 重 要 子 孙

所 有可 以 用 作 组 件 容 器 的 窗 口 对 象 , 都 是 由 类 Container 或 者 类 Container

的 子 孙 类 生 成 的 。 类 Container 的 子 孙 个 个 都 是 画窗 口 的 好 手 , 各 怀 绝 技 在

身 , 实 在 是 值 得 为 它 们 多 费 点笔 墨 的 。

1. 类 Window : 类 Container 的 子 类 , 是 画 窗 口 最 基 本 的 类 。

2. 类 Dialog : 类 Window 的 子 类 , 用 于 生 成 各 种 对 话 框 。

3. 类 FileDialog : 继 承 类 Dialog 的 类 , 可 以 用 来 生 成 文 件 对 话 框。 ( 文

件 对 话 框 用 来 让 用 户 选 择 和 输 入 文 件 名 ) 。

4. 类 Frame : 类 Window 的 子 类 , 用 来 设 计 具 有 一 般 窗 口 标 准 和 菜单 系 统 的

窗 口 。

5. 类 Panel : 类 Container 的 子 类 , 是 类 Applet 的 父 类 ; 类 Panel 在小 应

用 程 序 中 不 可 缺 少 , 它 所 定 义 的 窗 口 对 象 是 一 块 简单 的 区 域 , 这 块 区 域 用 来

放 置 各 种 有 用 的 窗 口 对 象 。



Panel 和 普 通 的 Window 相 似 之 处 是 可 以 把 许 多 相 关 的 窗 口 对象 放 在 同 一 个

Panel 中 ; Panel 和 Window 不 同 之 处 在 于 我 们 可以 方 便 地 使 用 Panel 来 安

排 一 组 一 组 的 窗 口 对 象 , 而 不 必为 安 排 每 一 个 窗 口 对 象 而 发 愁 。

当 小应 用 程 序 在 WWW 浏 览 器 中 执 行 的 时 候 , 浏 览 器 会 自 动 地 为它 准 备 一 个

Panel , 然 后 程 序 中 有 关 窗 口 的 操 作 都 会 在 这个 Panel 上 进 行 。



这 一 部 分 的 内 容 似 乎 都 是 些 新 鲜 的 概 念 , 而 且 技 术 性 很强 , 真 有 点 儿 难 懂 呀



这 一部 分 的 内 容 确 实 是 复 杂 了 一 些 , 不 过 不 要 紧 , 浏 览 过 这一 部 分 之 后 ,

我 们 马 上 就 有 几 个 又 生 动 又 简 单 的 小 程 序来 帮 助 你 学 习 , 你 自 己 动 手 在 计 算

机 上 照 猫 画 虎 一 般 地编 写 运 行 以 下 的 程 序 , 一 边 玩 程 序 一 边 回 过 头 来 学 习 这里

讲 的 概 念 和 知 识 , “ 实 践 出 真 知 ” , 你 很 快 就 会 学 会的 , 不 要 太 着 急 嘛 !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: