61

这很简单,我来自摇摆/awt 背景。

我只是想知道为 SWT 小部件设置背景颜色的正确方法是什么?

我一直在尝试:

widget.setBackground( );

除了我不知道如何在 SWT 中创建颜色对象?

4

3 回答 3

89

对于标准颜色(包括操作系统使用的常用颜色和默认颜色)使用Display.getSystemColor(int),并传入SWT.COLOR_*所需颜色的常量。

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

请注意,您不需要处理这些颜色,因为 SWT 创建了它们。

于 2008-09-16T18:34:17.440 回答
58

要创建颜色,请尝试以下操作:

Device device = Display.getCurrent ();
Color red = new Color (device, 255, 0, 0);
于 2008-09-08T16:49:54.717 回答
11

请记住,在 SWT 中,您必须在使用完所有资源后显式释放它们。这包括小部件、字体、颜色、图像、显示器、打印机和 GC。如果您不处置这些资源,最终您的应用程序将达到操作系统的资源限制,并且应用程序将停止运行。

另请参阅:SWT:管理操作系统资源

于 2008-09-16T18:18:17.417 回答