javaswing编程技术.pptx

上传人:max****ui 文档编号:21422520 上传时间:2021-04-30 格式:PPTX 页数:183 大小:5.63MB
收藏 版权申诉 举报 下载
javaswing编程技术.pptx_第1页
第1页 / 共183页
javaswing编程技术.pptx_第2页
第2页 / 共183页
javaswing编程技术.pptx_第3页
第3页 / 共183页
资源描述:

《javaswing编程技术.pptx》由会员分享,可在线阅读,更多相关《javaswing编程技术.pptx(183页珍藏版)》请在装配图网上搜索。

1、 第 一 章 Java Swing入 门 介 绍 l 轻 重 之 分l Swing与 AWTl MVCl Swing总 体 介 绍l 开 发 工 具 及 示 例 第 1 .1 .1 节 轻 重 之 分l 轻 重 是 什 么 意 思 ?l 哪 些 组 件 是 轻 量 级 的 , 哪 些 是 重 量 级 的 ?l 轻 量 级 与 重 量 级 能 不 能 同 时 使 用 ? 第 1 .1 .2 节 Swing与 AWT Swing是 用 来 替 代 AWT的 轻 量 组 件 , 而 不 是 用 来 替 代 AWT本 身 。 Swing除 利 用 图 形 、 字 体 、 布 局 管 理 器 等 AWT

2、功 能 外 , 所有 的 Swing轻 量 组 件 基 本 上 都 是 从 AWT的 Container类 继 承来 的 , 而 AWT的 Container类 又 扩 展 了 AWT的 Component类 。换 句 话 说 , Swing不 仅 利 用 了 AWT提 供 的 下 层 构 件 , 而 且所 有 的 Swing组 件 实 际 上 都 是 AWT容 器 。 注 意 : AWT Container类 本 身 是 轻 量 的 。 第 1 .2 节 MVC Swing的 插 入 式 界 面 样 式 由 一 个 基 于 Smalltalk的 “模 型 -视图 -控 制 (Model-Vi

3、ew-Controller )”设 计 的 组 件 体 系 结 构 和 用 于 管 理 界面 样 式 的 下 层 构 件 组 成 :l Model:模 型 代 表 应 用 软 件 的 数 据l View:视 图 指 数 据 的 可 视 化 展 现l Controller:控 制 者 获 得 视 图 上 用 户 的 输 入 并 把 它 送 到 模 型 里 面 做 相应 的 改 变 第 1 .3 节 Swing总 体 介 绍 第 1 .3 节 Swing总 体 介 绍 包 描 述com.sun.java.swing.plaf.motif 用 户 界 面 代 表 类 , 它 们 实 现 Motif界

4、 面 样 式com.sun.java.swing.plaf.windows 用 户 界 面 代 表 类 , 它 们 实 现 Windows界 面 样式javax.swing Swing组 件 和 实 用 工 具javax.swing.border Swing轻 量 组 件 的 边 框javax.swing.colorchooser JColorChooser的 支 持 类 /接 口javax.swing.event 事 件 和 侦 听 器 类javax.swing.filechooser JFileChooser的 支 持 类 /接 口javax.swing.pending 未 完 全 实 现

5、 的 Swing组 件javax.swing.plaf 抽 象 类 , 它 定 义 UI代 表 的 行 为javax.swing.plaf.basic 实 现 所 有 标 准 界 面 样 式 公 共 功 能 的 基 类javax.swing.plaf.metal 用 户 界 面 代 表 类 , 它 们 实 现 Metal界 面 样 式javax.swing.table JTable组 件 的 支 持 类 javax.swing.text 支 持 文 档 的 显 示 和 编 辑javax.swing.text.html 支 持 显 示 和 编 辑 HTML文 件javax.swing.text.

6、html.parser html文 件 的 分 析 器 类javax.swing.text.rtf 支 持 显 示 和 编 辑 RTF文 件javax.swing.tree JTree组 件 的 支 持 类javax.swing.undo 支 持 取 消 操 作 第 1 .4 节 开 发 工 具 及 示 例 介 绍 package sample;import javax.swing.JFrame;public class HelloWorld public static void main(String args) JFrame frame = new JFrame(Hello World!)

7、;frame.setSize(5 0 0 ,4 0 0 );frame.setLocation(0 ,0 );frame.setVisible(true); 第 二 章 Swing组 件 介 绍 l 组 件 的 划 分l使 用 窗 口 类 组 件l使 用 其 他 组 件 第 2 .1 节 组 件 的 划 分 第 2 .1 节 组 件 的 划 分 l 顶 层 容 器 :JFrame、 JApplet、 JDialog、 JWindow.所 谓 的 顶 层容 器 也 可 以 说 是 前 面 所 说 的 Window组 件 ,它 是 可 以 独 立 显示 的 组 件 .l 中 间 容 器 :JPan

8、el、 JScrollPane、 JSplitPane、 JTooBar。 所 谓中 间 容 器 也 就 是 指 那 些 可 以 充 当 载 体 , 但 也 是 不 可 独 立 显示 的 组 件 。 通 俗 地 说 , 就 是 一 些 基 本 控 件 可 以 放 在 其 中 ,但 是 它 不 能 独 立 显 示 , 必 须 要 依 托 在 顶 层 容 器 内 才 可 以 。l 特 殊 容 器 :在 GUI上 起 特 殊 作 用 的 中 间 层 , 如 JInternalFrame、JLayeredPane、 JRootPane( 这 里 的 特 殊 容 器 类 其 实 也 是 中间 容 器 类

9、 的 一 种 , 只 不 过 它 在 图 形 上 更 加 能 够 起 到 美 化 和专 业 化 的 作 用 ) 。l 基 本 组 件 :实 现 人 机 交 互 的 组 件 , 例 如 :JButton、JComboBox、 JList、 JMenu、 JSlider、 JTextField等 。 第 2 .1 节 使 用 窗 口 类 组 件 主 要 的 窗 口 组 件 包 括l JFramel JDialogl Jwindowl JApplet 第 2 .1 .1 节 使 用 JFrameJFrame是 通 用 的 一 种 基 本 窗 口 类 型 , 它 提 供 了 标 题 、边 框 和 其

10、他 一 些 窗 口 操 作 类 按 钮 (最 小 化 、 最 大 化 和 关 闭按 钮 ) 第 2 .1 .1 节 使 用 JFrameJFrame的 常 用 构 造 方 法 :JFrame() 构 造 一 个 初 始 时 不 可 见 的 新 窗 体 。JFrame(String title) 创 建 一 个 新 的 、 初 始 不 可 见 的 、 具 有 指 定 标 题 的 Frame。常 用 方 法 :void setSize(int width, int height) 调 整 组 件 的 大 小 , 使 其 宽 度 为 width, 高 度 为 height。void setLocat

11、ion(int x, int y) 将 组 件 移 到 屏 幕 中 (x,y)的 位 置 , 以 屏 幕 的 左 上 角 为 原 点 ,右 方 向 X轴 增 长 , 下 方 向 Y轴 增 长 。 默 认 窗 口 的 位 置 为 (0 ,0 ).setVisible(boolean b) 根 据 参 数 b 的 值 显 示 或 隐 藏 此 窗 口 。 其 它 :setIconImage(Image image) , setTitle(String title) , setResizable ( boolean resizable), setDefaultCloseOperation(int op

12、eration) 第 2 .1 .1 节 使 用 JFrameJFrame的 窗 口 事 件 监 听 方 法 :JFrame的 窗 口 事 件 都 由 Window实 现 (JDialog、 JWindow的 窗 口 事 件 同 理 ), 窗 口 事件 类 为 WindowEvent,为 窗 口 增 加 监 听 事 件 的 方 法 :addWindowListener(WindowListener l) 窗 口 事 件 可 触 发 的 入 口 方 法 有 :windowActivated(WindowEvent e) 将 Window 设 置 为 活 动 Window 时 调 用windowC

13、losed(WindowEvent e) 因 对 窗 口 调 用 dispose 而 将 其 关 闭 时 调 用windowClosing(WindowEvent e) 用 户 试 图 从 窗 口 的 系 统 菜 单 中 关 闭 窗 口 时 调 用windowDeactivated(WindowEvent e) 当 Window 不 再 是 活 动 Window 时 调 用windowDeiconified(WindowEvent e) 窗 口 从 最 小 化 状 态 变 为 正 常 状 态 时 调 用windowIconified(WindowEvent e) 窗 口 从 正 常 状 态 变

14、 为 最 小 化 状 态 时 调 用windowOpened(WindowEvent e) 窗 口 首 次 变 为 可 见 时 调 用 第 2 .1 .2 节 使 用 JDialogJDialog是 Swing的 对 话 框 组 件 , 其 基 本 的 功 能 与 JFrame相 似 , 最 大 的 区 别 是 :它 提 供 窗 口 操 作 类 按 钮 仅 有 关 闭 按钮 ,另 外 对 话 框 还 具 有 模 式 特 性 (模 态 )。 第 2 .1 .2 节 使 用 JDialogJDialog的 常 用 构 造 方 法 : JDialog() 创 建 一 个 没 有 标 题 并 且 没

15、有 指 定 Frame 所 有 者 的 无 模 式 对 话 框 。 JDialog(Dialog owner) 创 建 一 个 没 有 标 题 但 将 指 定 的 Dialog 作 为 其 所 有 者 的 无 模 式 对 话 JDialog(Frame owner) 创 建 一 个 没 有 标 题 但 将 指 定 的 Frame 作 为 其 所 有 者 的 无 模 式 对 话框 。 JDialog(Window owner) 创 建 一 个 具 有 指 定 所 有 者 Window 和 空 标 题 的 无 模 式 对 话 框 。常 用 方 法 :setModal(boolean modal)

16、指 定 此 dialog 是 否 应 该 是 有 模 式 的 。 此 方 法 已 过 时 , 保 留 它 只 是 为 了 后 向 兼 容 。 可 以 使 用 setModal ityType () 代 替 。setModalityType(Dialog.ModalityType type) 设 置 此 dialog 的 模 式 类 型 。 第 2 .1 .3 节 使 用 JWindowJWindow 是 一 个 顶 层 容 器 , 它 没 有 标 题 栏 、 窗 口 管 理按 钮 或 者 其 他 与 JFrame 关 联 的 修 饰 , 它 可 以 显 示 在 用 户桌 面 上 的 任 何 位

17、 置 。 因 其 没 有 装 饰 , 默 认 显 示 就 如 同 一张 白 板 。JWindow方 法 很 多 与 JFrame类 似 , 但 有 些 注 意 事 项 : JWindow的 基 本 属 性 与 JFrame相 似 , 但 JWindow没 有 标 题 栏 及边 框 , 相 应 的 方 法 也 不 存 在 。 JWindow的 应 用 场 景 一 般 是 做 闪 屏 或 弹 出 菜 单 式 窗 口 使 用 。 JWindow的 窗 口 监 听 与 JFrame窗 口 监 听 相 同 , 但 只 能 通 过 代 码调 用 。 第 2 .1 .4 节 使 用 JAppletJAppl

18、et是 java.applet.Applet 的 扩 展 版 , 它 添 加 了 对 JFC/Swing 组件 架 构 的 支 持 。 JApplet同 样 是 需 要 运 行 在 浏 览 器 中 的 。 第 2 .1 .4 节 使 用 JApplet Applet类 中 的 四 种 基 本 方 法 用 来 控 制 其 运 行 状 态 : init()、start()、 stop()、 destroy() init()方 法 这 个 方 法 主 要 是 为 Applet的 正 常 运 行 做 一 些 初 始 化 工 作 。 当 一 个 Applet被 系 统 调用 时 , 系 统 首 先 调

19、用 的 就 是 该 方 法 。 通 常 可 以 在 该 方 法 中 完 成 从 网 页 向 Applet传 递 参数 , 添 加 用 户 界 面 的 基 本 组 件 等 操 作 。 start()方 法 系 统 在 调 用 完 init()方 法 之 后 , 将 自 动 调 用 start()方 法 。 而 且 , 每 当 用 户 离 开 包 含该 Applet的 主 页 后 又 再 返 回 时 , 系 统 又 会 再 执 行 一 遍 start()方 法 。 这 就 意 味 着 start()方 法可 以 被 多 次 执 行 , 而 不 像 init()方 法 。 因 此 , 可 把 只 希

20、 望 执 行 一 遍 的 代 码 放 在 init()方 法中 。 可 以 在 start()方 法 中 开 始 一 个 线 程 , 如 继 续 一 个 动 画 、 声 音 等 。 stop()方 法 这 个 方 法 在 用 户 离 开 Applet所 在 页 面 时 执 行 , 因 此 , 它 也 是 可 以 被 多 次 执 行 的 。它 使 你 可 以 在 用 户 并 不 注 意 Applet的 时 候 , 停 止 一 些 耗 用 系 统 资 源 的 工 作 以 免 影 响 系统 的 运 行 速 度 , 且 并 不 需 要 人 为 地 去 调 用 该 方 法 。 如 果 Applet中 不

21、 包 含 动 画 、 声 音 等程 序 , 通 常 也 不 必 实 现 该 方 法 。 destroy()方 法 与 对 象 的 finalize()方 法 不 同 , Java在 浏 览 器 关 闭 的 时 候 才 调 用 该 方 法 。 Applet是 嵌在 HTML文 件 中 的 , 所 以 destroty()方 法 不 关 心 何 时 Applet被 关 闭 , 它 在 浏 览 器 关 闭 的 时候 自 动 执 行 。 在 destroy()方 法 中 一 般 可 以 要 求 收 回 占 用 的 非 内 存 独 立 资 源 。 (如 果 在Applet仍 在 运 行 时 浏 览 器

22、被 关 闭 , 系 统 将 先 执 行 stop()方 法 , 再 执 行 destroy()方 法 第 2 .2 节 使 用 其 它 组 件 Swing组 件 库 中 基 本 的 组 件 包 括 :l 通 用 控 件 集 (JButton、 JLabel、 JTree、 Jtable等 )l 轻 量 级 容 器 类 组 件 (JScrollPane、 Jpanel、 JRootPane等 ) 第 2 .2 .1 .1 节 使 用 标 签 缺 省 时 , 标 签 没 有 边 框 , 可 以 显 示 一 个 字 符 串 , 一 个 图 标或 同 时 显 示 字 符 串 和 图 标 。 标 签 的

23、 常 用 构 造 方 法 有 :JLabel() 创 建 无 图 像 并 且 其 标 题 为 空 字 符 串 的 JLabel。JLabel(Icon image) 创 建 具 有 指 定 图 像 的 JLabel 实 例 。JLabel(Icon image, int horizontalAlignment) 创 建 具 有 指 定 图 像 和 水 平 对 齐 方 式 的 JLabel 实 例 。JLabel(String text) 创 建 具 有 指 定 文 本 的 JLabel 实 例 。JLabel(String text, Icon icon, int horizontalAlig

24、nment) 创 建 具 有 指 定 文 本 、 图 像 和 水 平 对 齐 方 式 的 JLabel 实 例 。JLabel(String text, int horizontalAlignment) 创 建 具 有 指 定 文 本 和 水 平 对 齐 方 式 的 JLabel 实 例 。 第 2 .2 .1 .2 节 使 用 按 钮按 钮 组 件 有 很 多 种 , 其 中 包 括 普 通 按 钮 (JButton)、 两 态 按 钮(JToggleButton), 单 选 按 钮 (JRadioButton)和 复 选 框 按 钮 (JCheckBox)是JToggleButton的 子

25、 类 。 所 有 的 按 钮 的 父 类 都 是 AbstractButton:按 钮 支 持 的 基 本 事 件 方 法 :addActionListener(ActionListener l) 将 一 个 ActionListener 添 加 到 按 钮 中 。setAction(Action a) 设 置 Action。 新 Action 将 替 换 所 有 以 前 设 置 的 Action, 但 不 影 响 单 独 使 用 addActionListener 添 加 的 ActionListener。 如 果 Action 已 经是 按 钮 的 已 注 册 ActionListener

26、, 则 它 不 需 要 重 新 注 册 第 2 .2 .1 .2 .1 节 使 用 JButtonSwing中 普 通 按 钮 是 JButton, 其 常 用 构 造 方 法 有 :JButton() 创 建 不 带 有 设 置 文 本 或 图 标 的 按 钮 。JButton(Action a) 创 建 一 个 按 钮 , 其 属 性 从 所 提 供 的 Action 中 获 取 。JButton(Icon icon) 创 建 一 个 带 图 标 的 按 钮 。JButton(String text) 创 建 一 个 带 文 本 的 按 钮 。JButton(String text, Ic

27、on icon) 创 建 一 个 带 初 始 文 本 和 图 标 的 按 钮JButton常 用 方 法 有 : void setText(String text) 设 置 按 钮 的 文 本 。 void setIcon(Icon defaultIcon) 设 置 按 钮 的 默 认 图 标 。 void setHorizontalAlignment(int alignment) 设 置 图 标 和 文 本 的 水 平 对 齐 方 式 。 void setHorizontalTextPosition(int textPosition) 设 置 文 本 相 对 于 图 标 的 水 平 位 置

28、。 void setEnabled(boolean b) 启 用 ( 或 禁 用 ) 按 钮 。 第 2 .2 .1 .2 .2 节 使 用 JToggleButton JToggleButton是 具 有 按 下 和 按 起 两 个 状 态 的 按 钮 , 一 般 用 在 需 要 保持 按 下 状 态 的 应 用 中 : JToggleButton的 按 钮 构 造 方 法 与 使 用 方 法 都 与 JButton类 似 , 只 不 过构 造 方 法 支 持 状 态 的 初 始 化 设 置 :JToggleButton(String text, boolean selected) 创 建

29、具 有 指 定 文 本 和 选 择 状 态 的 切 换 按 钮 。 第 2 .2 .1 .2 .3 节 使 用 JCheckBox 复 选 框 (JCheckBox)是 一 个 可 以 被 选 定 和 取 消 选 定 的 项 , 它 将 其 状 态 显 示 给 用 户 。它 跟 单 选 按 钮 的 区 别 就 是 复 选 框 可 以 多 选 :JCheckBox常 用 构 造 方 法 :JCheckBox() 创 建 一 个 没 有 文 本 、 没 有 图 标 并 且 最 初 未 被 选 定 的 复 选 框 。JCheckBox(Action a) 创 建 一 个 复 选 框 , 其 属 性

30、从 所 提 供 的 Action 获 取 。JCheckBox(Icon icon) 创 建 有 一 个 图 标 、 最 初 未 被 选 定 的 复 选 框 。JCheckBox(Icon icon, boolean selected) 创 建 一 个 带 图 标 的 复 选 框 , 并 指 定 其 最 初 是 否 处 于 选 定 状 态 。JCheckBox(String text) 创 建 一 个 带 文 本 的 、 最 初 未 被 选 定 的 复 选 框 。JCheckBox(String text, boolean selected) 创 建 一 个 带 文 本 的 复 选 框 , 并

31、 指 定 其 最 初 是 否 处 于 选 定 状 态 。JCheckBox(String text, Icon icon) 创 建 带 有 指 定 文 本 和 图 标 的 、 最 初 未 选 定 的 复 选 框 。JCheckBox(String text, Icon icon, boolean selected) 创 建 一 个 带 文 本 和 图 标 的 复 选 框 , 并 指 定 其 最 初 是 否 处 于 选 定 状 态 。 第 2 .2 .1 .2 .3 节 使 用 JCheckBoxJCheckBox支 持 的 监 听 方 法 有 :void addItemListener(Ite

32、mListener l) 将 一 个 ItemListener 添 加 到 checkbox 中 。 void addActionListener(ActionListener l) 将 一 个 ActionListener 添 加 到 按 钮 中 。两 种 监 听 有 些 微 差 别 :ItemListener: 在 用 户 已 选 定 或 取 消 选 定 某 项 时 调 用 。ActionListener:用 户 点 击 按 钮 即 调 用 第 2 .2 .1 节 使 用 JRadioButton 单 选 按 钮 项 (JRadioButton)可 被 选 择 或 取 消 选 择 , 并

33、可 为 用 户 显 示 其 状 态 。JRadioButton是 JToggleButton的 一 个 了 类 。常 用 构 造 方 法 有 :JRadioButton() 创 建 一 个 初 始 化 为 未 选 择 的 单 选 按 钮 , 其 文 本 未 设 定 。JRadioButton(Action a) 创 建 一 个 单 选 按 钮 , 其 属 性 来 自 提 供 的 Action。JRadioButton(Icon icon) 创 建 一 个 初 始 化 为 未 选 择 的 单 选 按 钮 , 其 具 有 指 定 的 图 像 但 无 文 本 。JRadioButton(Icon i

34、con, boolean selected) 创 建 一 个 具 有 指 定 图 像 和 选 择 状 态 的 单 选 按 钮 , 但 无 文 本 。JRadioButton(String text) 创 建 一 个 具 有 指 定 文 本 的 状 态 为 未 选 择 的 单 选 按 钮 。JRadioButton(String text, boolean selected) 创 建 一 个 具 有 指 定 文 本 和 选 择 状 态 的 单 选 按 钮 。JRadioButton(String text, Icon icon) 创 建 一 个 具 有 指 定 的 文 本 和 图 像 并 初 始

35、 化 为 未 选 择 的 单 选 按 钮 。JRadioButton(String text, Icon icon, boolean selected) 创 建 一 个 具 有 指 定 的 文 本 、 图 像 和 选 择 状 态 的 单 选 按 钮 。 第 2 .2 .1 节 使 用 JRadioButton单 选 框 按 钮 在 默 认 情 况 下 是 都 可 以 被 选 中 的 :这 个 就 不 符 合 实 际 开 发 中 所 用 到 的 单 选 按 钮 的 要 求 。 在 实 际 开 发 中 一 个单 选 按 钮 被 选 中 , 其 他 的 自 动 被 置 为 未 选 中 状 态 , 要

36、 产 生 这 种 效 果 , 就需 要 使 用 到 按 钮 组 :ButtonGroup, 为 多 个 单 选 按 钮 设 置 同 一 个ButtonGroup, 即 可 达 到 互 斥 的 目 的 , 即 使 我 们 初 始 化 构 造 为 都 选 中 状 态 ,最 终 显 示 结 果 也 只 会 有 一 个 被 选 中JRadioButton button1 = new JRadioButton(是 , true);JRadioButton button2 = new JRadioButton(否 , true);JPanel panel = new JPanel(); panel.add

37、(button1 );panel.add(button2 );ButtonGroup bg = new ButtonGroup();bg.add(button1 );bg.add(button2 ); 第 2 .2 .2 节 使 用 文 本 组 件 Swing文 本 组 件 是 相 对 比 较 简 单 的 组 件 。 它 建 立 在 由 javax.swing. text包 的 类 和 接 口 提 供 的 一 个 复 杂 的 下 层 构 件 之 上 。 在 Swing图 形 化 开 发 中 , 将 文 本 组 件 分 成 了 普 通 文 本 组 件 和 文 本 区 组件 两 种 。 它 们 之

38、 间 的 区 别 在 于 , 普 通 文 本 组 件 之 可 以 接 收 用 户 输 入 的 单行 文 本 ; 而 文 本 区 组 件 可 以 接 收 用 户 输 入 的 多 行 文 本 。Swing文 本 组 件 在 JTextComponent上 进 行 扩 充 。 第 2 .2 .2 节 使 用 文 本 组 件 JTextField:单 行 文 本 组 件 JPasswordField:单 行 密 码 输 入 文 本 组 件 JFormattedTextField:带 格 式 化 单 行 输 入 文 本 JTextArea:多 行 文 本 组 件 JEditorPane: 可 编 辑 各

39、 种 内 容 的 多 行 文 本 组 件 JTextPane: 可 以 用 以 图 形 方 式 表 示 的 属 性 来 标 记 的 多 行 文 本 组 件 第 2 .2 .2 .1 节 使 用 JTextField单 行 输 入 文 本 :JTextFieldJTextField的 默 认 构 造 方 法 有 :JTextField() 构 造 一 个 新 的 JTextField。JTextField(Document doc, String text, int columns) 构 造 一 个 新 的 JTextField, 它 使 用 给 定 文 本 存 储 模 型 和 给 定 的 列

40、数 。JTextField(int columns) 构 造 一 个 具 有 指 定 列 数 的 新 的 空 TextField。JTextField(String text) 构 造 一 个 用 指 定 文 本 初 始 化 的 新 TextField。JTextField(String text, int columns) 构 造 一 个 用 指 定 文 本 和 列 初 始 化 的 新 TextField。JTextField基 本 的 使 用 方 法 有 : void setHorizontalAlignment(int alignment) 设 置 文 本 的 水 平 对 齐 方 式 。

41、 有 效 值 包 括 : void setFont(Font f) 设 置 当 前 字 体 。 void setColumns(int columns)设 置 此 TextField 中 的 列 数 , 然 后 验 证 布 局 。 第 2 .2 .2 .1 节 使 用 JTextField JTextField默 认 增 加 事 件 的 方 法 比 较 特 殊 , 我 们 可 以 通 过 通 用 键 盘 及鼠 标 事 件 来 实 现 复 杂 的 文 本 事 件 监 听 , 但 在 大 多 数 情 况 下 , 我 们 可 能 仅仅 只 需 要 响 应 回 车 事 件 , JTextField提

42、供 的 默 认 方 法 : void addActionListener(ActionListener l) 添 加 指 定 的 操 作 侦 听 器 以 从 此 文 本 字 段 接 收 操 作 事 件JTextField提 供 了 接 收 键 盘 回 车 键 的 事 件 , 我 们 可 以 通 过 实 现 该 监 听 来 响应 回 车 事 件 :textField.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) System.out.println(JTextFi

43、eld) e.getSource().getText(); ); 第 2 .2 .2 .2 节 使 用 JPasswordField JPasswordField 是 一 个 轻 量 级 组 件 , 允 许 编 辑 单 行 文 本 ,其 视 图 指 示 键 入 内 容 , 但 不 显 示 原 始 字 符JPasswordField默 认 的 构 造 方 法 有 :JPasswordField() 构 造 一 个 新 JPasswordField, 使 其 具 有 默 认 文 档 、 为 null 的 开 始 文 本 字符 串 和 为 0 的 列 宽 度 。JPasswordField(Stri

44、ng text) 构 造 一 个 利 用 指 定 文 本 初 始 化 的 新 JPasswordField。常 用 方 法 : char getPassword() 返 回 此 TextComponent 中 所 包 含 的 文 本 。 getText()为 过 时 方 法 不 建 议 使用 。 void setEchoChar(char c) 设 置 此 JPasswordField 的 回 显 字 符 。 默 认 的 回 显 字 符 为 “ *” ,用 户 可 以设 置 任 意 的 回 显 字 符 。 第 2 .2 .2 .3 节 使 用 JFormattedTextField JForm

45、attedTextField 扩 展 了 JTextField, 添 加 了 对 格 式 化 任 意 值 的支 持 , 以 及 一 旦 用 户 编 辑 了 文 本 就 检 索 特 定 对 象 的 支 持 。 它 的 应 用场 景 类 似 电 话 号 码 的 格 式 限 制 “ (#)#-#” , 对 应 用 户 输 入格 式 为 : “ (0 8 6 )0 2 7 -5 9 1 0 0 2 1 2 ” 。 它 不 会 接 受 任 何 不 遵 循 此 格 式 的 输入JFormattedTextField的 默 认 构 造 方 法 有 :JFormattedTextField() 创 建 一 个

46、 没 有 AbstractFormatterFactory 的 JFormattedTextField。JFormattedTextField(Format format) 创 建 一 个 JFormattedTextField。JFormattedTextField(JFormattedTextField.AbstractFormatter formatter) 创 建 一 个 具 有 指 定 AbstractFormatter 的 JFormattedTextField。 第 2 .2 .2 .3 节 使 用 JFormattedTextField如 何 使 用 掩 码 格 式 的 方 式

47、 来 创 建 一 个 JFormattedTextField组 件 ?首 先 , 要 创 建 一 个 MaskFormatter对 象 , 然 后 将 这 个 对 象 作 为 JFormattedTextField构 造 器 的 一 个 参 数 来 创 建 JFormattedTextField对 象 。示 例 代 码 :MaskFormatter maskFormatter = new MaskFormatter(#-#-#);maskFormatter.setPlaceholderCharacter(_);JFormattedTextField formattedTextField = n

48、ew JFormattedTextField(maskFormatter); 第 2 .2 .2 .4 节 使 用 JTextArea 多 行 文 本 组 件 JTexArea, 在 这 个 组 件 内 , 用 户 可 以 输 入 多 行 文 本 , 换 行 的 方 式 就 是 采 用默 认 的 回 车 , 当 回 车 时 每 行 的 文 本 都 会 以 ”n”字 符 作 为 结 束 标 志常 用 构 造 方 法 :JTextArea() 构 造 新 的 TextArea。JTextArea(int rows, int columns) 构 造 具 有 指 定 行 数 和 列 数 的 新 的

49、空 TextArea常 用 方 法 : void append(String str) 将 给 定 文 本 追 加 到 文 档 结 尾 。 void setLineWrap(boolean wrap) 设 置 文 本 区 的 换 行 策 略 。 如 果 设 置 为 true, 则 当 行 的 长 度 大 于 所 分 配 的 宽 度 时 ,将 换 行 。 如 果 设 置 为 false, 则 始 终 不 换 行 。void setFont(Font f) 设 置 当 前 字 体 。 void insert(String str, int pos) 将 指 定 文 本 插 入 指 定 位 置 。

50、第 2 .2 .2 .5 节 使 用 JEditorPane 可 编 辑 各 种 内 容 的 文 本 组 件 JEditorPane,其 支 持 的 文 件 类 型 有 如 下 三 种 : 纯 文 本 类 型 : 其 类 型 的 表 示 法 为 “ text/plain” , 这 种 类 型 的 文 件 就 是 最 常 使 用 的 文 本 文 件 ,这 种 类 型 的 文 件 可 以 用 记 事 本 等 编 辑 软 件 来 编 辑 。 RTF类 型 : 其 表 示 法 为 “ text/rtf” , 这 种 类 型 的 文 件 特 色 是 能 对 文 字 内 容 进 行 字 体 缩 放 、变

51、形 、 上 色 等 特 殊 效 果 。 HTML类 型 : 也 就 是 网 路 上 所 浏 览 的 网 页 类 型 , 其 表 示 法 为 “ text/html” , 这 类 文 件 除 了 对文 字 效 果 的 表 现 之 外 , 还 具 有 在 文 件 内 加 入 图 片 、 超 链 接 等 相 关 功 能 。 但 是 JEditorPane并不 是 一 个 全 功 能 的 Web Browser, 它 仅 能 支 持 简 单 的 HTML语 法 、 JEditorPane支 持 HTML类 型的 文 件 主 要 的 用 途 是 制 作 在 线 辅 助 说 明 文 件 。JEditorP

52、ane的 默 认 构 造 方 法 有 :JEditorPane() 创 建 一 个 新 的 JEditorPane。JEditorPane(String url) 根 据 包 含 URL 规 范 的 字 符 串 创 建 一 个 JEditorPane。JEditorPane(String type, String text) 创 建 一 个 已 初 始 化 为 给 定 文 件 的 JEditorPane。JEditorPane(URL initialPage) 根 据 用 作 输 入 的 指 定 URL 创 建 一 个 JEditorPane。 第 2 .2 .2 .6 节 使 用 JText

53、Pane JTextPane继 承 自 JEditorPane, 是 专 为 文 字 和 版 面 处 理 设 计 的 组 件 , 类 似 于办 公 软 件 包 中 的 Word软 件 。JTextPane的 常 用 构 造 方 法 有 :JTextPane() 创 建 一 个 新 的 JTextPane。JTextPane(StyledDocument doc) 创 建 具 有 指 定 文 档 模 型 的 新 JTextPane。常 用 的 操 作 JTextPane方 法 有 : AttributeSet getCharacterAttributes() 获 取 在 当 前 插 入 符 号

54、位 置 的 有 效 字 符 属 性 , 或 者 null。 MutableAttributeSet getInputAttributes() 获 取 窗 格 的 输 入 属 性 。 AttributeSet getParagraphAttributes() 获 取 插 入 符 号 位 置 的 当 前 有 效 段 落 属 性 , 如 果 没 有 , 则 返 回 null。 void insertIcon(Icon g) 将 一 个 图 标 插 入 文 档 中 , 以 替 换 当 前 选 择 的 内 容 。 void setCharacterAttributes(AttributeSet attr

55、, boolean replace) 将 给 定 属 性 应 用 于 字 符 内 容 。 void setParagraphAttributes(AttributeSet attr, boolean replace) 将 给 定 属 性 应 用 于 段 落 。 第 2 .2 .3 节 使 用 轻 量 容 器 我 们 使 用 的 面 板 就 是 一 种 最 常 见 的 容 器 , 所 谓 容 器 , 我 们 可 以 将 基本 组 件 放 置 其 中 , 组 成 丰 富 多 彩 的 用 户 界 面 。 以 前 我 们 学 习 的 窗 口 之 类都 可 以 称 之 为 容 器 , 但 因 其 承 载

56、 的 功 能 大 部 分 为 顶 层 窗 口 的 作 用 , 将 其归 类 为 重 量 级 的 容 器 ; 而 这 节 我 们 所 要 介 绍 的 实 际 上 是 一 些 可 以 放 置 到重 量 容 器 中 的 中 间 容 器 , 它 具 有 一 定 的 装 载 功 能 , 又 是 轻 量 级 的 组 件 ,我 们 称 之 为 轻 量 容 器 。 第 2 .2 .3 .1 节 使 用 面 板 JPanel Panel是 在 实 际 项 目 开 发 中 使 用 频 率 最 高 的 面 板 之 一 。 它 大 部 分 情 况下 是 基 本 组 件 JButton、 JLabel等 之 类 功 能

57、 组 件 载 体 ; 其 他 一 些 情 况 JPanel还 能 是 中 间 容 器 中 的 一 部 分 , 其 上 下 都 还 有 其 它 中 间 容 器 。Panel的 基 本 构 造 方 法 有 :JPanel() 创 建 具 有 双 缓 冲 和 流 布 局 的 新 JPanel。JPanel(boolean isDoubleBuffered) 创 建 具 有 FlowLayout 和 指 定 缓 冲 策 略 的 新 JPanel。JPanel(LayoutManager layout) 创 建 具 有 指 定 布 局 管 理 器 的 新 缓 冲 JPanel。 第 2 .2 .3 .2

58、 节 使 用 滚 动 条 JScrollPane JScrollPane是 一 个 带 滚 动 条 的 容 器 类 。 它 可 以 用 来 显 示 一 些 文 本 、 表格 等 内 容 。 当 内 容 超 过 了 JScrollPane面 板 的 大 小 时 , 系 统 会 自 动 添 加 滚 动条 。JScrollPane的 基 本 构 造 方 法 有 :JScrollPane() 创 建 一 个 空 的 ( 无 视 口 的 视 图 ) JScrollPane, 需 要 时 水 平 和 垂 直 滚 动 条 都 可 显 示 。JScrollPane(Component view) 创 建 一

59、个 显 示 指 定 组 件 内 容 的 JScrollPane, 只 要 组 件 的 内 容 超 过 视 图 大 小 就 会 显示 水 平 和 垂 直 滚 动 条 。JScrollPane(Component view, int vsbPolicy, int hsbPolicy) 创 建 一 个 JScrollPane, 它 将 视 图 组 件 显 示 在 一 个 视 口 中 , 视 图 位 置 可 使 用 一 对 滚 动 条 控 制 。JScrollPane(int vsbPolicy, int hsbPolicy) 创 建 一 个 具 有 指 定 滚 动 条 策 略 的 空 ( 无 视 口

60、 的 视 图 ) JScrollPane。 第 2 .2 .3 .1 节 使 用 面 板 JSplitPane JSplitPane 用 于 分 隔 两 个 ( 只 能 两 个 ) Component。 两 个 Component 图 形 化 分 隔 以 外 观 实 现 为 基 础 , 并 且 这 两 个 Component 可 以 由 用 户 交 互式 调 整 大 小 。JSplitPane的 基 本 构 造 方 法 有 :JSplitPane() 创 建 一 个 配 置 为 将 其 子 组 件 水 平 排 列 、 无 连 续 布 局 、 为 组 件 使 用 两 个 按 钮 的 新 JSpl

61、itPane。JSplitPane(int newOrientation) 创 建 一 个 配 置 为 指 定 方 向 且 无 连 续 布 局 的 新 JSplitPane。JSplitPane(int newOrientation, boolean newContinuousLayout) 创 建 一 个 具 有 指 定 方 向 和 重 绘 方 式 的 新 JSplitPane。 JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightC

62、omponent) 创 建 一 个 具 有 指 定 方 向 、 重 绘 方 式 和 指 定 组 件 的 新 JSplitPane。JSplitPane(int newOrientation, Component newLeftComponent, Component new RightComponent) 创 建 一 个 具 有 指 定 方 向 和 不 连 续 重 绘 的 指 定 组 件 的 新 JSplitPane。 第 2 .2 .3 .1 节 使 用 面 板 JSplitPane JSplitPane的 常 用 方 法 有 :void setDividerLocation(double

63、proportionalLocation) 设 置 分 隔 条 的 位 置 为 JSplitPane 大 小 的 一 个 百 分 比 。 void setDividerLocation(int location) 设 置 分 隔 条 的 位 置 。 void setDividerSize(int newSize) 设 置 分 隔 条 的 大 小 。 void setLastDividerLocation(int newLastLocation) 将 分 隔 条 所 处 的 最 后 位 置 设 置 为 newLastLocation。 void setLeftComponent(Componen

64、t comp) 将 组 件 设 置 到 分 隔 条 的 左 边 ( 或 上 面 ) 。 void setOneTouchExpandable(boolean newValue) 设 置 oneTouchExpandable 属 性 的 值 , 要 使 JSplitPane 在 分 隔 条 上 提 供 一 个 UI 小 部 件 来快 速 展 开 /折 叠 分 隔 条 , 此 属 性 必 须 为 true。 void setOrientation(int orientation) 设 置 方 向 , 或 者 分 隔 窗 格 的 方 式 。 void setResizeWeight(double v

65、alue) 指 定 当 分 隔 窗 格 的 大 小 改 变 时 如 何 分 配 额 外 空 间 。 void setRightComponent(Component comp) 将 组 件 设 置 到 分 隔 条 的 右 边 ( 或 者 下 面 ) 。 void setTopComponent(Component comp) 将 组 件 设 置 到 分 隔 条 的 上 面 或 者 左 边 。 第 2 .2 .3 .4 节 使 用 分 页 组 件 JTabbedPane 分 页 组 件 JTabbedPane允 许 用 户 通 过 单 击 具 有 给 定 标 题 和 /或 图 标 的 选 项 卡

66、 ,在 一 组 组 件 之 间 进 行 切 换 。JTabbedPane的 基 本 构 造 方 法 有 :JTabbedPane() 创 建 一 个 具 有 默 认 的 JTabbedPane.TOP 选 项 卡 布 局 的 空 JTabbedPane。JTabbedPane(int tabPlacement) 创 建 一 个 空 的 JTabbedPane, 使 其 具 有 以 下 指 定 选 项 卡 布 局 中 的 一 种 : JTabbedPane.TOP、JTabbedPane.BOTTOM、 JTabbedPane.LEFT 或 JTabbedPane.RIGHT。JTabbedPane(int tabPlacement, int tabLayoutPolicy) 创 建 一 个 空 的 TabbedPane, 使 其 具 有 指 定 的 选 项 卡 布 局 和 选 项 卡 布 局 策 略 。 第 2 .2 .3 .4 节 使 用 分 页 组 件 JTabbedPaneJTabbedPane常 用 方 法 : int indexOfTabComponent(Component

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!