我可以在黑莓Java中设置labelField的文本颜色而不覆盖油漆吗



我知道我可以覆盖paint来更改标签字段中的文本颜色,但我想知道是否有像setBackground(BackgroundFactory.createSolidBackground(Color.WHITE));这样的命令只用于前景。

在覆盖"paint"方法中,您还有g.setColor(color)方法;

你说"不涂油漆";所以我在这里没有使用绘画方法;

label=new LabelField("Change color", Field.FIELD_HCENTER)
{
protected void applyTheme(Graphics g, boolean arg1) 
{
    g.setColor(Color.GREEN);
    super.applyTheme(g, arg1);
}
};
add(label);

你可以这样做;我之所以提供此选项,是因为这是将"颜色"设置为LabelField的一种方法;

我认为如果不重写绘制方法,就无法设置LabelField的文本颜色。如果设置labelField的背景,则它将影响labelField,而不是标签字段的文本。因此,要更改文本的颜色,必须覆盖labelfield的绘制方法。为文本指定所需的颜色,labelField的文本将获得您为其定义的颜色。是的,您可以覆盖protected void applyTheme(Graphics g, boolean arg1)以更改标签字段的文本颜色。

我认为这可能会帮助你

最新更新