2012-05-17 191 views
0

在我的項目,我需要在一個組合來創建一些播放,暫停,停止按鈕。 爲此我創建了一個組合並在那裏添加了這些按鈕。我還爲每個按鈕添加了圖像 。但繪畫之後,它看起來不太好。我的意思是按鈕上的圖像看起來不太好。客戶不滿意。現在是否有可能將圖像添加到標籤並將一些切換按鈕操作添加到標籤?我知道我可以將圖像添加到標籤。但是,當我點擊標籤,它並沒有給按鈕的效果..將圖像添加到標籤建議

+0

什麼樣的UI效果是你試圖達到?按鈕的外觀令人不滿意的是什麼? – katsharp

+0

按鈕看起來像一些非常大的東西意味着它看起來不太好,但如果我們將圖像應用到標籤上,它會看起來不錯。就像我們正在爲這些動作添加圖像一樣。無論如何,我不能對我的複合材料使用動作。所以我需要像添加圖像到看起來需要的動作。這就是客戶也期待的。 – user414967

回答

1

如果你想自定義外觀爲您的「按鈕」,您可以使用自定義圖像標籤(一個用於正常狀態,一個是「推」 。狀態是這樣的:

final Label stop = new Label(composite, SWT.NONE); 
stop.setSize(STOP_IMG.getImageData().width, STOP_IMG.getImageData().height) 

stop.setBackgroundImage(STOP_IMG); 
stop.addMouseListener(new MouseAdapter() 
{ 
    @Override 
    public void mouseUp(MouseEvent e) 
    { 
     stop.setBackgroundImage(STOP_IMG);    
    } 

    @Override 
    public void mouseDown(MouseEvent e) 
    { 
     stop.setBackgroundImage(STOP_DOWN_IMG); 
     // DO ACTION 
    }   
}); 

對於一個很好的用戶界面,你可以對鼠標的狀態還添加了MouseTrack監聽器,並具有不同的圖像

缺點的,這是你在做它,因爲它會不太容易接近。只響應鼠標事件,如果你採用這種方法,你應該看看創建你自己的擴展MouseAdapter的類,並將標籤,圖像和動作在構造函數中調用,所以你不會得到大量非常類似的匿名類。

+0

嗨,我會用這種方式檢查。但是我們仍然可以達到點擊標籤的效果嗎?無論如何,我會嘗試。 – user414967

+0

是的,使用這種技術,您可以完全控制外觀,因爲您使用整個按鈕的圖像。您需要創建兩個圖像,一個用於向上狀態,另一個用於向下狀態 –

0

我已經使用的工具欄在過去達到一個很好的效果。

這將創建一個工具欄與行爲就像一個普通按鈕,一個項目:

//Toolbar button 
ToolBar toolBar = new ToolBar(composite,SWT.FLAT); 
ToolItem toolItem = new ToolItem(toolBar,SWT.PUSH); 
toolItem.setImage(image); 

這將有切換行爲的項目的工具欄:

//Create a toggle effect 
ToolBar toggleToolBar = new ToolBar(composite,SWT.FLAT); 
ToolItem toggleToolItem = new ToolItem(toggleToolBar,SWT.CHECK); 
toggleToolItem.setImage(image); 
+0

工具欄我無法使用,因爲我必須將我的按鈕或標籤添加到組合中。我不想添加到工具欄。 – user414967

+0

我發佈的代碼片段將它們添加到組合中。 – katsharp