【问题标题】:Setting Colors in SWT在 SWT 中设置颜色
【发布时间】:2008-09-08 16:12:57
【问题描述】:

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

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

我一直在尝试:

widget.setBackground( );

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

【问题讨论】:

    标签: java swt colors


    【解决方案1】:

    对于标准颜色(包括操作系统使用的常用颜色和默认颜色)使用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.COLOR_* 集中支持的任何颜色的标准。如前所述,您无需记住处理以这种方式创建的颜色。
    • SWT.COLOR_LIST_BACKGROUND : 太棒了。
    【解决方案2】:

    要创建颜色,试试这个:

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

    【讨论】:

    • 确保您不要忘记处理这种颜色!否则会泄露原生资源。
    【解决方案3】:

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

    另请参阅:SWT: Managing Operating System Resources

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多