如何将hexString转换为SWT颜色?

时间:2016-03-24 09:11:45

标签: java colors hex swt

如果您有hexString #FFF080,并且想要将其转换为org.eclipse.swt.graphics.Color,那么最好的方法是什么?

2 个答案:

答案 0 :(得分:3)

当然!还有很多其他方法可以解决这个问题。 以下是解决方案之一。

public static Color decode(Display display, String hexString) {
            try {
                Integer intval = Integer.decode(hexString);
                int i = intval.intValue();
                return new Color(display, (i >> 16) & 0xFF, (i >> 8) & 0xFF, i & 0xFF);
            } catch (NumberFormatException nfe) {
                return null;
            }
        }

您可以在java.awt.Color.decode(str);

找到上述类型的实施源代码

答案 1 :(得分:3)

或者干脆就这样做:

public static Color decode(Display display, String hexString)
{
    try
    {
        java.awt.Color c = java.awt.Color.decode(hexString);

        return new Color(display, c.getRed(), c.getGreen(), c.getBlue());
    }
    catch(NumberFormatException e)
    {
        return null;
    }
}