LWUIT ComboBox文本颜色问题

时间:2010-11-24 12:50:12

标签: java-me combobox lwuit

ComboBox文本颜色为白色,即使我在主题中将其设置为黑色。 TextField的文本颜色应该是黑色的。为什么ComboBox文字颜色不是黑色?

主题:

fgColor=FFFFFF  
bgColor=000000  
sel#fgColor=FFFFFF  
sel#bgColor=EE8207  
ComboBox.fgColor=000000  
ComboBox.bgColor=FFFFFF  
ComboBox.sel#fgColor=000000  
ComboBox.sel#bgColor=FFFFFF  
TextField.fgColor=000000  
TextField.bgColor=FFFFFF  
TextField.sel#fgColor=000000  
TextField.sel#bgColor=FFFFFF  

3 个答案:

答案 0 :(得分:1)

您可以像这样更改文字颜色

Style selStyle = UIManager.getInstance().getComponentSelectedStyle("ComboBoxItem");
selStyle.setFgColor(0x00AF00);   // Selected Item will be in green color
UIManager.getInstance().setComponentSelectedStyle("ComboBoxItem", selStyle);

Style unSelStyle = UIManager.getInstance().getComponentStyle("ComboBoxItem");
unSelStyle.setFgColor(0x000000); // Selected Item will be in black color   
UIManager.getInstance().setComponentStyle("ComboBoxItem", unSelStyle);

这样可以解决!!

答案 1 :(得分:0)

你可以这样使用,

ComboBoxItem.fgColor=000000  

ComboBoxItem.sel#fgColor=ffffff

您使用的是ResourceEdit吗?如果你没有使用手段,请使用ResourceEdit并创建主题。

答案 2 :(得分:0)

您应该使用hexColors:“0x000000”或“0xffffff”

您还可以使用以下方法在应用中设置颜色。

lwuit使用int来设置颜色,计算int使用以下函数。

public static int colorStringToInt(String hexColor) {
    int color;
    try {
        color = Integer.parseInt(hexColor.substring(2), 16);
        return color;
    } catch (Exception ex) {
        ex.printStackTrace();
        return -1;//no negative colors
    }
}

设置这样的颜色。

int color = AppUtils.colorStringToInt("0xffffff");//white
if (color != -1) {
    b.getStyle().setFgColor(color, true);
}