2013-07-01 22 views
3

我宣佈一些像這樣的切換按鈕:如何使RCP切換按鈕狀態更明顯?

button = new Button(this, SWT.TOGGLE); 
button.setImage(icon); 

他們看起來像這樣我的電腦上:

enter image description here

右一個推,左一個不是。

但是在某些電腦上,根據操作系統的一般設置,可能很難看到按鈕是否被按下。

無論操作系統設置如何,我該怎麼做才能讓按鈕的狀態更明顯?

我確切地說應用程序使用Eclipse 3平臺,我需要這個工作在從XP開始的任何桌面Windows上。

+2

在按鈕選擇偵聽器的onSelect方法中,通過檢查按鈕狀態,創建兩個圖像並使用適當的更新按鈕? –

+0

@AlexanderGavrilov這是一個解決方案。我只是測試它,它的工作原理。你能將你的評論改爲答案嗎?如果有人給我一個更清潔和更輕的解決方案,我將不會接受它,但它至少會獲得+1(並可能是未來讀者的一個提示)。 –

回答

2

,因爲我沒有找到任何清潔溶液(其中一個將所有按鈕的工作,而不必重複所有圖標),我也的建議由亞歷山大:

button.addSelectionListener(new SelectionListener() { 
     public void widgetDefaultSelected(SelectionEvent e) { 
     } 
     public void widgetSelected(SelectionEvent e) { 
      button.setImage(button.getSelection() ? pushedIcon : icon); 
      ... 
     }   
    }); 

它看起來像這樣:

enter image description here

在色彩設置不好的計算機上(例如選擇灰色),這將是一個改進。