在SWT中设置颜色

时间:2020-03-05 18:49:27  来源:igfitidea点击:

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

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

我一直在尝试:

widget.setBackground( );

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

解决方案

回答

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

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

回答

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

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

回答

对于标准颜色(包括操作系统使用的常用颜色和默认颜色),请使用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可以创建它们。