如何改变lablefield的颜色?

时间:2010-06-19 10:48:59

标签: blackberry

我正在尝试设置标签的背景颜色,当我覆盖LabelField类的paint menthod时,它会设置显示文本的背景颜色,它会离开列的其余部分。

我们如何改变偶数文本不存在的标签的背景颜色。

文本来自数据库,我们有固定的列宽。

提前致谢。

3 个答案:

答案 0 :(得分:1)

这是Blackberry中UI的常见问题。您需要对标签进行子类化并在绘制之前设置颜色:

public class Custom extends LabelField {
    protected void paint(Graphics graphics) {
        graphics.setColor(Color.BLACK);
        super.paint(graphics);
    }
}

答案 1 :(得分:1)

有两件事,你可以改变文字和文字区域的背景颜色。我希望你选择设置文字区域的背景颜色。

LabelField lb = new LabelField("Label")  {

//Setting backgroundColor of the Text

    protected void paint(Graphics graphics) {
             graphics.setColor(Color.LAVENDAR);
                super.paint(graphics);
            }
        };

//Setting backgroundColor of the TextArea(Note the Difference)

     protected void paintBackground(Graphics graphics) {
             graphics.setBackgroundColor(Color.GOLDENROD);
             graphics.clear();
            }
        };

我希望这些代码会有所帮助。

答案 2 :(得分:0)

您可以在字段的实例化版本上实现绘制。这样就可以避免制作自己的自定义类的开销。

ButtonField myButton = new ButtonField("button")  {
    protected void paint(Graphics graphics) {
         graphics.setColor(Color.BLACK);
            super.paint(graphics);
        }
    };