2013-05-12 55 views
0

我想擴展JButton類並手動繪製按鈕的圖標,但我需要根據按鈕所處的狀態來獲取正確的圖標,我該怎麼做?如何獲取按鈕的圖標與當前狀態相符?

方法getIcon()返回默認圖標而已,不管是什麼狀態下的按鈕是...

+0

這可能不只是畫一個區域,如果在該區域中單擊了檢查的MouseListener(XMIN XMAX YMIN YMAX之間)更難。你有沒有試圖獲得屏幕像素讀取功能? rgbArray = image.getRGB(startX,startY,w,h,rgbArray,offset,scansize); – 2013-05-12 15:25:53

+0

不,它實際上並不難,尤其是當他們已經處理按鈕狀態位置佈局等。 – 2013-05-12 15:27:47

回答

1

相反,實施Icon接口。 ColorIcon,圖示爲here,是由JButton子類使用的簡單示例。嘗試爲多種顏色中的每一種實例化ColorIcon。使用Icon實例作爲按鈕的按下或翻轉圖標以查看效果。另見相關的example

1

getIcon()將返回默認圖標,但getDisabledIcon()將返回禁用圖標。

另外 getDisabledSelectedIcon()返回按鈕在禁用和選擇時使用的圖標。如果未設置禁用選擇圖標,則會將該調用轉發給LookAndFeel,以便從選擇圖標(如果已設置)構建適當的禁用圖標,否則將構建適當的禁用圖標getDisabledIcon()。 某些外觀可能不會呈現禁用選定的圖標,在這種情況下,它們將忽略此選項。

然後有getPressedIcon(),getRollOverIcon()getRolloverSelecedIcon()

檢查AbstractButton手冊頁。

正如你所看到的,有很多選項可供你選擇。另一方面,你可能是設置圖標的人,所以如果你可以把它們放在一個Icon數組中,你可以從那裏直接得到它們。