0

我正在处理一个 UI 任务,在该任务中我需要设置以十六进制代码“#ededed”给出的背景颜色。现在我正在使用这段代码:

((VerticalFieldManager) getMainManager()).setBackground(BackgroundFactory.createSolidBackground(**Color.LIGHTGRAY**));

但代替这个 Color.LIGHTGRAY 我必须使用“#ededed”十六进制颜色代码。

请帮助我完成这个小而合乎逻辑的任务。提前谢谢...!

4

4 回答 4

4

怎么样:

((VerticalFieldManager) getMainManager()).setBackground(BackgroundFactory.createSolidBackground(0xededed));
于 2012-05-15T14:46:15.127 回答
1

最简单的解决方案是:

getMainManager().setBackground(BackgroundFactory.createSolidBackground(0xededed));

无需转换为 a,VerticalFieldManager因为主管理器是 aField并且该类包含该setBackground方法。

于 2012-05-16T09:06:49.460 回答
0

为什么不使用此链接将颜色转换为所需的颜色并在代码中实现

            http://easycalculation.com/color-coder.php

如果您打算使用 java 颜色代码,这是最好的链接

            http://www.jafar.com/java/csel/index.html

希望能帮助到你。

于 2012-05-15T13:59:53.580 回答
0

以下代码将字符串(十六进制表示)转换为其等效整数,并将该值用作背景颜色。

String strColor = "#ededed";
// remove # char
strColor = strColor.substring(1);

try {
    // get integer equivalent
    int iColor = Integer.parseInt(strColor, 16);
    getMainManager().setBackground(BackgroundFactory.createSolidBackground(iColor));
} catch (Exception exc) {   
}
于 2012-05-15T17:18:10.733 回答