2011-10-12 12 views
7

मुझे पता है कि आकार, शैली कैसे बदलें, लेकिन मैं लेबल नियंत्रण में टेक्स्ट का रंग कैसे सेट कर सकता हूं? यहां मेरा कोड अब तक है:एसडब्ल्यूटी जावा: लेबल नियंत्रण में पाठ का रंग कैसे बदलें?

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 वस्तु का निर्माण, आप सुनिश्चित करें: see this

हरी के लिए यह की तरह कुछ हो जाएगा इसका निपटान करें

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). 

रंग: रंग वर्ग एक colorspace से पहचान मनमाने ढंग से रंग रिक्त स्थान में डिफ़ॉल्ट sRGB रंग अंतरिक्ष में रंग या रंग संपुटित करने के लिए प्रयोग किया जाता है।

अधिक जानकारी के लिए: myLabel.setForeground(new org.eclipse.swt.graphics.Color(getDisplay(), 102, 255, 102));

+0

AWT मिश्रण मत करो 'रंग आप की तरह कुछ चाहता हूँ 'एसडब्ल्यूटी' रंग' के साथ। आप 'new org.eclipse.swt.graphics.Color (getDisplay(), 102, 255, 102) चाहते हैं। और जब आप इसके साथ काम करते हैं तो आपको 'रंग' का निपटान करने की आवश्यकता होती है। –

+0

ओह ठीक हो गया! – COD3BOY

संबंधित मुद्दे