亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

控制bean定制器的技巧

2019-11-18 12:05:14
字體:
來源:轉載
供稿:網友

  概 要:
  集 成 開 發 環 境(IDEs) 可 以" 解 剖" 一 個bean 類 的 文 件 并 且 生 成 一 個 帶 參 數 的 對 話 框, 開 發 者 可 以 利 用 它 來 定 制 自 己 的bean。 但 是 這 些" 標 準 的" 定 制 對 話 框 留 下 了 很 多 參 數 以 滿 足 它 的 適 應 性, 靈 活 性 和 美 學 目 的, 本 文 論 述 的 是 怎 樣 在 設 計 時( 當 然, 有 時 也 在 運 行 時) 定 制bean。 這 兩 個 月 你 將 要 學 習 怎 樣 定 制 你 的beans。
  
  我 們 希 望 我 們 的 beans 不 僅 讓 用 戶 易 用, 更 重 要 的 是 使 應 用 程 序 的 開 發 者 方 便 的 通 過 改 變 參 數 來 設 計 自 己 的bean。 在11 月 號 的 專 題 文 章 定 制 你 的java—— 根 據 應 用 剪 裁JavaBeans 里, 我 們 看 到 了 怎 樣 定 制JavaBeans。 一 個 簡 單 的 命 名 方 案(nameing scheam) 提 供 了 一 個 最 小 化 機 制, 這 個 機 制 使 用 戶 可 以 在 一 個 集 成 開 發 環 境(IDE) 或 其 他bean 的 對 象 集 成 環 境-- 如BeanBox 里 定 制bean。 當 要 定 制 一 個bean 時, 這 個 集 成 開 發 環 境(IDE) 確 定 這 個bean 的 類 并 彈 出 一 個 對 話 框, 每 一 個 屬 性 都 有 自 己 的 子 編 輯 框。 而 控 制, 替 換 和 擴 展 這 些 編 輯 框 正 是 本 文 要 討 論 的 問 題。
  
  本 文, 我 們 將 回 顧 一 下 基 礎 概 念, 以 便 于 理 解JavaBeans 的 獨 特 的 定 制 方 便 性。 你 將 要 了 解 到 實 現Bean 的 不 同 的 步 驟 和 類。 然 后 我 們 將 講 述 一 個 用BeanInfo 界 面 生 成 的 簡 單 構 件(form), 這 個form 講 明 了 如 何 配 置 一 個bean。 我 們 還 將 寫 一 個 很 簡 單 的 定 制 屬 性 編 輯 器( 它 使 你 方 便 的 編 輯 屬 性) 并 把 它 裝 在BeanBox 里。 這 個 過 程 中 我 們 將 接 觸 到Introspector 類, 所 謂Introspector 類 是 一 種 被 集 成 開 發 環 境(IDE) 或 其 他 bean 集 成 環 境 用 來 分 析 類 文 件 的JavaBeans 類。
  
  注 意: 本 文 中, 我 使 用 的 術 語IDE 指 的 是" 任 何 涉 及 到bean 內 部 的bean 集 成 環 境"。 它 當 然 不 局 限 于IDEs: 指 像BeanBox, 信 息 公 路(information"buses") 等 類 似 于 此 的, 需 要 知 道bean 內 部 情 況 的Beans 瀏 覽 器,Bean 測 試 器。 我 使 用"IDE" 只 因 為 它 只 需 三 個 字 母, 而 且 在 本 文 中 很 常 用。
  
  定 制 的 步 驟(levels)
  由 于bean 越 來 越 復 雜, 屬 性( 或 稱 存 取 方 法) 越 來 越 多。 更 多 的 屬 性 出 現 在 對 話 框 里, 于 是 我 們 用 來 定 制 bean 的 對 話 框 越 便 越 大, 使 用 起 來 很 不 方 便, 容 易 混 亂。
  
  bean 的 使 用 者 不 一 定 很 清 楚 它 的 屬 性 的 意 義 以 及 它 們 之 間 的 聯 系。 某 些 屬 性, 特 別 是 索 引 屬 性, 在 沒 有 屏 幕 時 很 不 好 理 解。 另 一 些 如 果 在 圖 形 狀 態 下 編 輯 會 很 容 易 理 解。
  
  JavaBeans 規 范 和JavaBeans 包 解 決 了 這 個 問 題, 原 因 是 它 靈 活, 開 放, 易 擴 展 的 規 定, 分 類 和 界 面。 這 就 使bean 的 開 發 者 可 以 了 解 用 戶 將bean 加 入 自 己 的 程 序 中 來 定 制 它 時 的 屏 幕 顯 示。
  
  當 統 一 設 計 面 板 和 讓IDE 創 制 自 己 的 對 話 框 時, 為 了 寫 一 個 使 用 戶 可 以 在 全 圖 形 用 戶 界 面( complete GUI) 下 自 己 配 置 的 bean , 定 制 控 制 分 為 幾 步(levels)。
  
  定 制 步 驟(level)1: 使 用 設 制 模 板
  如 果 你 已 經 讀 過 這 個JavaBeans 系 列 的 上 一 篇 關 于 定 制bean 的 文 章, 你 已 經 知 道 存 取 方 法 可 以 改 變bean 的 內 部 狀 態。 你 還 會 記 得 設 制 模 板(design pattern) 是JavaSoft 用 來 表 示 存 取 方 法 的 術 語, 是 根 據"JavaBeans 規 范" 的 命 名 規 則 定 義 的, 所 以 它 們 的 程 序 包 可 以 表 示 出 所 有 的 屬 性 和 設 置 方 法。 如 果 你 沒 有 讀 過 上 述 文 章, 我 來 做 一 個 小 結: 屬 性 是 一 個 軟 件 對 象 的 內 部 狀 態 的 子 集( 這 里 的 軟 件 對 象 指 的 是bean)。 屬 性 的 存 取 方 法 提 供 了 改 變 一 個bean 的 某 個 外 部 特 性 的 唯 一 方 法。JavaBeans 規 范 中 規 定 每 一 個 屬 性 必 需 有 像 這 樣 的 存 取 方 法
  
  SomeType getPRoperty() (getter)
  void setProperty(SomeType value) (setter)
  
  如 果JavaBean 遵 守JavaBeans 規 范, 集 成 開 發 環 境 就 可 以 分 析 一 個bean, 找 到 名 字 附 和 上 述 模 式 的 存 取 方 法 并 且 指 出 它 的 屬 性 和 設 置 方 法。 當IDE 知 道 屬 性 的 名 字, 類 型 和 存 取 方 法 后, 它 立 即 可 以 生 成 一 個 定 制 對 話 框。 如 果 你 對 這 段 不 是 很 理 解, 可 以 參 閱 我 上 面 提 到 的11 月 號 的 關 于"JavaBeans" 的 文 章。
  
  這 樣, 你 已 經 學 會 了 定 制 的 最 基 本 的 步 驟 : 設 制 模 板。 這 是IDEs 和 其 他bean 軟 件 包 提 供 給 應 用 程 序 開 發 者 定 制 一 個 bean 的 最 基 礎 的 方 法。
  
  如 果 只 依 賴 于 設 制 模 板 做 為 定 制 的 界 面, 存 在 著 幾 個 問 題。 首 先, 由 于IDE 只 知 道 對 象 的 名 字 和 屬 性, 而 不 知 道 屬 性 的 意 義, 大 部 分 將 按 照 字 母 順 序 排 列 或 按 某 種 順 序 列 表。 你 的 定 制 對 話 框 將 整 齊 但 不 實 用。 對 話 框 也 會 非 常 巨 大。 回 憶 一 下 我 們 在 上 幾 篇 文 章 中 開 發 的BarChartBean 程 序。 如 下 圖:
  
  BarChartBean 和 它 的 定 制 對 話 框( 屬 性 單)
  
  這 是 一 個 簡 單 漂 亮 的bean, 但 請 看 一 下 它 的 屬 性 表 ! 我 可 以 輕 而 易 舉 地 舉 出 成 打 的 很" 酷" 的 屬 性 加 在 上 面: 旋 轉, 立 體 效 果, 色 彩 變 幻 等 等。 那 么, 再 設 想 一 下 用 這 個 方 法 配 置 電 子 制 表 軟 件 或 字 處 理 軟 件 bean: 毫 不 夸 張 得 說 將 有 成 百 的 屬 性 列 一 個 長 長 的 表。
  
  這 里 也 有 很 多 你 并 不 想 列 出 的 屬 性。 如, 上 圖 中 BarChartBean 右 邊 的 對 話 框 里 的 幾 個 屬 性 象 字 體, 前 景, 背 景, 它 們 與BarChartBean 毫 無 關 系。(BarChartBean 不 使 用 文 字, 并 且 總 處 于 最 大 化。) 因 為 這 些 屬 性 繼 承 于java.awt.Component 所 以 它 們 列 在 這 里。
  
  BeanBox 盡 力 把 它 所 知 的BarChartBean 的 點 滴 列 給 你, 但 它 超 過 了 你 的 要 求。BarChartBean 出 現 時 我 不 需 要 所 有 這 些 屬 性, 它 還 會 把 你 搞 胡 涂。" 背 景" 和" 填 充 色" 有 什 么 區 別 ?( 設 計 者 當 然 知 道, 但 使 用 者 不 一 定 清 楚 ) 看 來 最 好 把 與 用 戶 無 關 的, 會 帶 來 麻 煩 的 屬 性 隱 藏 起 來。
  
  定 制 步 驟(level)2: 提 供BeanInfo 對 象
  定 制 的 第 二 步,java.beans.BeanInfo 的 界 面 里 解 決 了 這 些 問 題。BeanInfo 界 面 使 你 的bean 向 每 一 個" 要 求" 的 用 戶 描 述 自 己(" 要 求" 這 個 詞 我 將 在 后 面 介 紹)。 除 了 顯 示 屬 性,BeanInfo 界 面 還 可 以 顯 示 名 字, 圖 標, 屬 性 列 表, 方 法, 事 件 等 等。( 我 們 將 在 下 一 段 里 更 深 的 討 論BeanInfo)。 很 多 屬 性 用 簡 單 的 設 置 整 數, 顏 色 或 文 件 的 方 法 不 能 很 好 的 表 示。 象 是 常 見 的 枚 舉 類 型: 也 許 我 只 想 在 下 拉 列 中 設 幾 種 色 彩( 綠 色, 黃 色 等)。 另 外 的 人 也 許 要 在 一 個Tabbean 中 設 置 制 表 符( 如 字 處 理 程 序 中 一 個PageLayout bean 的 子 構 件)。 設 制 模 板 和 BeanInfo 不 能 直 接 控 制 這 些 情 況, 而java.beans.PropertyEditor 的 界 面 功 能 使 程 序 員 能 直 接 在 圖 形 界 面 下 設 置 參 數; 換 言 之, 你 可 以 寫 屬 性 編 輯 器。
  
  定 制 步 驟(level)3: 提 供 定 制 屬 性 編 輯 器
  定 制 的 第 三 步,java.beans.PropertyEditor 和 java.beans.PropertyEditorSupport, 使 你 能 寫 自 己 的 屬 性 編 輯 器。 屬 性 編 輯 器 是 一 個 單 獨 編 輯 具 有 一 定 類 型 的 屬 性 的 構 件。 當 你 擊 中"Color" 設 置 顏 色 時 , 會 彈 出 BeanBox 里"Color" 屬 性 的 標 準 編 輯 器:
  
  使 用ColorEditor 屬 性 編 輯 器
  
  你 看 到 的 這 個 對 話 框 是 BeanBox 用 來 編 輯"Color" 屬 性 類 的 標 準 屬 性 編 輯 框。PropertyEditor 界 面 允 許 你 發 明 新 類 型。
  
  PropertyEditor 界 面 通 過 對 標 簽(tags) 的 支 持 使 你 實 現 枚 舉 類 型。
  
  某 些 屬 性 由 一 個 軟 件 構 件 中 的 幾 個 實 際 的 屬 性 組 成, 可 以 認 為 是" 邏 輯" 屬 性。" 邏 輯" 屬 性 的 一 個 最 好 的 例 子 是 彩 色 板(color balance), 它 在 一 個 面 上 顯 示 各 種 色 彩。 你 可 以 在 這 個 標 準 屬 性 列 里 選 擇 屬 性 如" 紅" 或" 黃", 但 不 必 在 應 用 時 列 給 用 戶。 顯 示 色 彩 板 的 最 好 方 式 大 概 是: 把 圖 像 用 當 前 色 彩 顯 示, 在 它 周 圍 用 thumbnails 表 示 變 化。 用 戶 可 以 選 擇 最 滿 意 的 圖 像, 對 話 框 對 這 幅 圖 像 再 做 編 輯。(Adobe photoshop 里 的 對 話 框 類 似 于 此)。
  
  定 制 步 驟(level)4: 提 供 定 制 器
  定 制 控 制 的 第 四 步 是java.beans.C

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
俺也去精品视频在线观看| 欧美电影电视剧在线观看| 亚洲性无码av在线| 69国产精品成人在线播放| 国模精品一区二区三区色天香| 91成人在线观看国产| 国产精品夫妻激情| 51ⅴ精品国产91久久久久久| 亚洲最新中文字幕| 久久九九有精品国产23| 亚洲老头同性xxxxx| 欧美大胆a视频| 欧美日韩亚洲视频一区| 国产欧美一区二区| 日韩高清免费在线| 欧美中文字幕精品| 91免费福利视频| 性色av一区二区三区| 一区二区三区亚洲| 国产精品久久久久77777| 91久久综合亚洲鲁鲁五月天| 成人免费自拍视频| 日韩欧美成人区| 一本色道久久88综合亚洲精品ⅰ| 久久久精品国产一区二区| 久久久国产精彩视频美女艺术照福利| 久久人人爽人人爽人人片av高请| www.欧美精品一二三区| 国产成人av在线| 91精品视频在线看| 久久久久久亚洲| 亚洲福利小视频| 久久国产精品视频| 亚州成人av在线| 国产精品欧美一区二区三区奶水| 日韩中文字幕在线播放| 国产精品青青在线观看爽香蕉| 国内偷自视频区视频综合| 91精品国产高清久久久久久久久| 亚洲精品动漫久久久久| 欧美猛交ⅹxxx乱大交视频| 91久久久久久久一区二区| 亚洲第一区第一页| 亚洲国产精品成人av| 亚洲国产天堂久久综合网| 亚洲国产精品电影在线观看| 欧美色视频日本高清在线观看| 国产精品白丝av嫩草影院| 精品国产999| 欧美精品日韩三级| 欧美电影第一页| 91美女片黄在线观看游戏| 不卡av在线播放| 亚洲一二三在线| 欧美激情精品久久久| 久久精品视频在线| 亚洲国产精品女人久久久| 国产区精品在线观看| 久久久精品免费视频| 久久久99久久精品女同性| 色综合伊人色综合网站| 欧美一区二区大胆人体摄影专业网站| 91九色国产社区在线观看| 黄色成人在线免费| 亚洲精品99999| 久久精品国产欧美亚洲人人爽| 亚洲最大av在线| 欧美日韩福利在线观看| 亚洲午夜色婷婷在线| 91wwwcom在线观看| 日韩欧美极品在线观看| 有码中文亚洲精品| 情事1991在线| 日本最新高清不卡中文字幕| 欧洲美女免费图片一区| 亚洲欧美国产制服动漫| 日韩电影免费在线观看中文字幕| 久久久国产精品亚洲一区| 久久久免费av| 555www成人网| 国产欧美日韩免费| 91嫩草在线视频| 粗暴蹂躏中文一区二区三区| 人九九综合九九宗合| 成人深夜直播免费观看| 欧美大胆在线视频| 亚洲精品成人久久电影| 91高清免费视频| 午夜精品在线视频| 欧美亚洲另类在线| 国模精品系列视频| 高跟丝袜一区二区三区| 日韩欧美精品中文字幕| 国产有码在线一区二区视频| 国语自产精品视频在线看抢先版图片| 91久久精品国产| 大桥未久av一区二区三区| 国产成人免费91av在线| 精品国产1区2区| 亚洲精品网站在线播放gif| 久久99视频精品| 国产视频精品免费播放| 国产欧美精品日韩| 日韩在线播放视频| 色综合老司机第九色激情| 91手机视频在线观看| 成人欧美一区二区三区黑人孕妇| 国内精品久久久久久久久| 欧美日韩国产限制| 国产这里只有精品| 中文字幕自拍vr一区二区三区| 自拍亚洲一区欧美另类| 全色精品综合影院| 高清亚洲成在人网站天堂| 夜夜嗨av一区二区三区免费区| 亚洲欧美综合图区| 日韩女优人人人人射在线视频| 亚洲精品一区中文| 国产亚洲精品日韩| 精品性高朝久久久久久久| 久久激情五月丁香伊人| 国内外成人免费激情在线视频网站| 亚洲美女性视频| 日韩成人网免费视频| 777午夜精品福利在线观看| 伊人青青综合网站| 国产女同一区二区| 日韩中文理论片| 亚洲精品xxxx| 亚洲专区国产精品| 国产欧美日韩专区发布| 成人亚洲综合色就1024| 亚洲精品www久久久久久广东| 精品无人区乱码1区2区3区在线| 久久人人爽人人爽爽久久| 国产亚洲欧美日韩精品| 91在线观看免费网站| 亚洲欧美在线磁力| 国内成人精品一区| 亚洲夜晚福利在线观看| 亚洲精品久久久久久久久久久久| 日韩精品免费在线播放| 91精品国产自产在线观看永久| 国产精品视频一区二区三区四| 欧美日韩国产丝袜美女| 国产日韩在线精品av| 欧美激情视频三区| 国产精品爽爽爽| 69国产精品成人在线播放| 欧美肥老太性生活视频| 欧美性猛交xxxx富婆弯腰| 亚洲成人动漫在线播放| 国产97在线|亚洲| 日韩电影中文字幕一区| 欧美视频免费在线观看| 日韩中文在线不卡| 欧美福利视频网站| 精品国产福利视频| 国产精品久久久久久av福利软件| 日本欧美一二三区| 在线观看久久久久久| 欧美一区深夜视频| 成人免费观看49www在线观看| 日韩高清免费观看|