SWT Java: how to change colour of text in Label control?
26,836
Solution 1
Make sure you don't mix SWT and AWT colors, and if you build a Color
object, make sure you dispose it. You want something like:
final Color myColor = new Color(getDisplay(), 102, 255, 102);
myLabel.setForeground(color);
myLabel.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e)
{
myColor.dispose();
}
});
Or you can just use the built-in system colors:
myLabel.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN));
(Do not dispose the system colors.)
Solution 2
myLabel.setForeground(Color fg).
color : The Color class is used to encapsulate colors in the default sRGB color space or colors in arbitrary color spaces identified by a ColorSpace.
For more information : see this
For green it'd be something like : myLabel.setForeground(new org.eclipse.swt.graphics.Color(getDisplay(), 102, 255, 102));
Author by
alhcr
Updated on October 13, 2020Comments
-
alhcr over 3 years
I know how to change size, style but how can I set colour of text in Label control? Here is my code so far:
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]));
I see there is no colour property in FontData class.
-
Edward Thomson over 12 yearsDon't mix AWT
Color
with SWTColor
. You wantnew org.eclipse.swt.graphics.Color(getDisplay(), 102, 255, 102))
. And you need todispose
theColor
when you're done with it.