题
这非常简单,我来自 swing/awt 背景。
我只是想知道为 SWT 小部件设置背景颜色的正确方法是什么?
我一直在尝试:
widget.setBackground( );
除了我不知道如何在 SWT 中创建颜色对象?
解决方案
要创建颜色,请尝试以下操作:
Device device = Display.getCurrent ();
Color red = new Color (device, 255, 0, 0);
其他提示
对于标准颜色(包括常用颜色和操作系统使用的默认颜色)使用 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 创建的。
请记住,在 SWT 中,您必须在使用完创建的任何资源后显式处置它们。这包括小部件、字体、颜色、图像、显示、打印机和 GC。如果您不处理这些资源,最终您的应用程序将达到操作系统的资源限制,并且应用程序将停止运行。
也可以看看: 斯威特:管理操作系统资源
不隶属于 StackOverflow