2011-11-27 95 views
3

我在LWUIT窗體中有一個按鈕,並且我有一個應該在此按鈕中繪製的圖標,我希望圖標能夠填充所有的按鈕空間而不在按鈕邊框和圖標之間留下任何空白區域,怎麼可能我這樣做?如何在聚焦時使用圖像填充LWUIT按鈕?

例如:假設的圖標是一個簡單的綠化廣場,使用下面的代碼:

Button button = new Button(Image.createImage("/green.JPG")); 
form.addComponent(button); 

我得到了以下結果當項目集中

enter image description here

如何刪除圍繞「綠色」圖標的白色邊框 e按鈕當它的焦點(我會用另一個圖像替換整個圖標圖像來表示焦點狀態)?

回答

5

1)內容,綠色圖標和組件邊界之間的間隙,即白色邊框,稱爲填充。與按鈕邊界適應圖像,取出填充在所有方向(TOPBOTTOMLEFTRIGHT)在各組件狀態的,即未選定選定按下已禁用

因此,對於未選擇的狀態時,它是

button.getUnselectedStyle().setPadding(0, 0, 0, 0); 

爲按鈕的其他國家做到這一點。

你可能想玩弄按鈕的邊緣以適合它在容器內。


2)刪除的按鈕的邊界調用以下句法方法爲每個組件狀態

button.get[ComponentState]Style().setBorder(null, false); 

在你的情況爲聚焦狀態,button.getSelectedStyle().setBorder(null, false);


3)向設置圖標爲適當的按鈕狀態使用以下方法,

button.setIcon(image);     
button.setRollOverIcon(image); 
button.setPressedIcon(image); 
+1

正確。儘管我會補充說,所有這些都可以在GUI主題編輯中定義,而不需要實際編寫任何代碼。只需將填充設置爲0,並將邊框設置爲在按鈕的主題樣式(甚至默認樣式)內爲空。 –