看板 java 關於我們 聯絡資訊
我不是高手,而且快十年沒寫過 Swing/AWT 了 我是來鞭屍的 [揮舞] ※ 引述《vincewen (Zafe)》之銘言: : 小弟最近在自學練習JAVA的GUI : 想說先從AWT開始下手 : 目前在練習貼圖的時候 : Image ig; : ig=getToolkit().getImage("C:/java/AWT02.jpg"); 基本上,以問問題的角度,這樣的寫法不太妙 因為看的人會不知道 getToolkit() 到底是「誰」的 method 雖然你都說你在弄 AWT 的東西 正常人會預設你在講 java.awt.Component.getToolkit() (是的,我不正常 [遮臉]) 但是難保你真正用的 class 沒有 override 掉? 當然,要認真鞭我這段話的話 那其實單純用 Component.getToolkiet() 來回答也不會怎樣? (謎之聲:你到底要說什麼?) : g.drawImage(ig,40,260,ig.getWidth(this),ig.getHeight(this),this); : 想請問一下為什麼要加getToolkit() : 我有上網查了一下知道他是一個抽象類別 : 但是還是有點搞不清楚為什麼要加這行 : 能個請高手稍微指點一下嗎 : 或著舉個getToolkit()他其它會用到的例子, : 然後它們的關聯性>"< 感激不盡! 問「為甚麼」是一件很好的事情 雖然我覺得你問的「為甚麼」不是那麼「為甚麼」 我先跳過 java.awt.Toolkit 這個 class 的實際用途 (因為我不會 XD) 而是單純看 Component 跟 Toolkit 之間的關係 來說「這可能是為甚麼?」 不如我再來說個故事... (謎之聲:還來...) 你要辦一個無差別武鬥大會 賽前按照慣例檢驗選手武器 你要葉問交出他的武器,他會捲袖子說:就是我的手 你要李小龍交出他的武器,他會給你雙節棍 也就是說 選手 選手A = 請神閣.葉問下凡(); 選手 選手B = 請神閣.李小龍下凡(); 武器 武器A = 選手A.get武器(); //得到一雙手 武器 武器B = 選手B.get武器(); //得到一組雙節棍 很自然地,你自然會用「武器」這個泛稱 因為你不知道比賽的時候是哪兩個人比、會交出什麼武器 但是武器一定可以... 武器A.攻擊(); 武器B.攻擊(); 所以比賽的規則跟邏輯就會很好寫 反正怎麼攻擊是選手自己要煩惱的事情 好了,在這個故事中 * 選手:就是 Component * 武器:就是 Toolkit * 攻擊():就是 getImage() 可能在 OOP / Design Pattern 裡頭有個專有名詞在講這件事情 但是那太難了,我不會 -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.202.140
vincewen:謝謝版主 很有意思的講解 讓我又多了解不少!! 01/10 14:07