在SWT中设置颜色

Bri*_*aro 56 java swt colors

这很简单,我来自swing/awt背景.

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

我一直在努力:

widget.setBackground( );
Run Code Online (Sandbox Code Playgroud)

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

qua*_*ial 82

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

Display display = Display.getCurrent();
Color blue = display.getSystemColor(SWT.COLOR_BLUE);
Color listBackground = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
Run Code Online (Sandbox Code Playgroud)

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

  • 这应该是您在SWT.COLOR_*集中支持的任何颜色的标准.如上所述,您无需记住处理以这种方式创建的颜色. (3认同)

jod*_*ell 54

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

Device device = Display.getCurrent ();
Color red = new Color (device, 255, 0, 0);
Run Code Online (Sandbox Code Playgroud)

  • 确保你不要忘记处理这种颜色!否则您将泄漏本机资源. (26认同)

qua*_*ial 10

请记住,在SWT中,您必须明确处置完成后创建的所有资源.这包括小部件,字体,颜色,图像,显示,打印机和GC.如果您不处理这些资源,最终您的应用程序将达到操作系统的资源限制,应用程序将停止运行.

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