Brian Gianforcaro
Brian Gianforcaro

Reputation: 27210

Setting Colors in SWT

This is pretty simple, I come from a swing/awt background.

I'm just wondering what the proper way to set the background color for a SWT widget is?

I've been trying:

widget.setBackground( );

Except I have no idea how to create the color Object in SWT?

Upvotes: 65

Views: 82970

Answers (3)

qualidafial
qualidafial

Reputation: 6832

For standard colors (including common colors and default colors used by the operating system) Use Display.getSystemColor(int), and pass in the SWT.COLOR_* constant for the color you want.

Display display = Display.getCurrent();
Color blue = display.getSystemColor(SWT.COLOR_BLUE);
Color listBackground = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);

Note that you do not need to dispose these colors because SWT created them.

Upvotes: 92

qualidafial
qualidafial

Reputation: 6832

Remember that in SWT you must explicitly dispose any resources that you create when you are done with them. This includes widgets, fonts, colors, images, displays, printers, and GCs. If you do not dispose these resources, eventually your application will reach the resource limit of your operating system and the application will cease to run.

See also: SWT: Managing Operating System Resources

Upvotes: 11

jodonnell
jodonnell

Reputation: 50497

To create a color, try this:

Device device = Display.getCurrent ();
Color red = new Color (device, 255, 0, 0);

Upvotes: 60

Related Questions