2011-10-12 249 views
7

我知道如何更改大小,樣式,但是如何在Label控件中設置文本的顏色?這裏是我的代碼到目前爲止:SWT Java:如何更改Label控件中文本的顏色?

Label myLabel = new Label(shell, SWT.NONE); 
myLabel.setText("some text that needs to be for example green"); 
FontData[] fD = myLabel.getFont().getFontData(); 
fD[0].setHeight(16); 
fD[0].setStyle(SWT.BOLD); 
myLabel.setFont(new Font(display,fD[0])); 

我看到在FontData類中沒有顏色屬性。

回答

21

確保您不要混合SWT和AWT的顏色,如果你建立一個Color對象,請確保您處置它。你想要的東西,如:

final Color myColor = new Color(getDisplay(), 102, 255, 102); 
myLabel.setForeground(color); 
myLabel.addDisposeListener(new DisposeListener() { 
    public void widgetDisposed(DisposeEvent e) 
    { 
     myColor.dispose(); 
    } 
}); 

或者,你可以使用內置的系統顏色:

myLabel.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN)); 

(請勿將系統顏色)

2
myLabel.setForeground(Color fg). 

顏色:Color類用於封裝在默認sRGB顏色空間的顏色或顏色在由ColorSpace標識的任意顏色空間。

欲瞭解更多信息:see this

綠色IT的會是這樣:myLabel.setForeground(new org.eclipse.swt.graphics.Color(getDisplay(), 102, 255, 102));

+0

不要混合使用AWT'顏色'用SWT'Color'。你需要'new org.eclipse.swt.graphics.Color(getDisplay(),102,255,102))''。當你完成它時,你需要''處理'Color'。 –

+0

oops糾正! – COD3BOY