2012-09-24 43 views
1

我用搖擺JCheckBox的:專注定製圖標

chkBox.setIcon(); 
chkBox.setSelectedIcon(); 
chkBox.setDisabledIcon(); 
chkBox.setDisabledSelectedIcon(); 

設置自定義圖標我JCheckBox的。但是現在,如果焦點移動到其中一個複選框,則周圍沒有顯示邊框或其他任何內容,這表明複選框具有焦點。

有誰知道,當定製複選框有焦點時如何提供一些反饋?

感謝

+0

可以重現它在靈氣(只有圖標,而不是文字有焦點裝飾)。看起來你必須自己動手,在調整默認值時不會過分驚訝:-)好奇,爲什麼你想要自定義圖標?你可能會混淆你的用戶 – kleopatra

回答

2

你的問題一定要看外觀和您正在使用應用程序中的感覺(L & F)(如果你不設置一個 - 我猜你正在使用MetalLookAndFeel)。

無論如何,有可能有很多的解決方案:

  1. 檢查您的JCheckBox的實際上是focusablefocus painted。請注意,某些L & F可能會關閉焦點繪畫 - 檢查checkBox.setFocusPainted()方法。

  2. 如果您對默認焦點繪畫不滿意 - 您可能想要創建自己的CheckBoxUI來繪製更好的焦點指示符。這需要一些UI創建的基本知識。

  3. 如果您想直接在檢查圖標上繪製焦點指示,您可以創建自己的基於圖標的實現,並將其與當前檢查狀態一起繪製。如果您想查看實際示例,我已在other topic中發佈了一個有關狀態依賴圖標的自定義圖標示例。

可能有其他的解決方案,但他們因L & f您使用的是......