我正在尝试设置标签的背景颜色,当我覆盖LabelField类的paint menthod时,它会设置显示文本的背景颜色,它会离开列的其余部分。
我们如何改变偶数文本不存在的标签的背景颜色。
文本来自数据库,我们有固定的列宽。
提前致谢。
答案 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);
}
};