gpt4 book ai didi

user-interface - 如何动态更改黑莓标签字段的字体颜色?

转载 作者:行者123 更新时间:2023-12-04 16:57:00 24 4
gpt4 key购买 nike

我有一个标签字段和三个按钮,名称分别为红色、黄色、蓝色。如果我单击红色按钮,则标签字段字体颜色应更改为红色;同样,如果我单击黄色按钮,则字体颜色应更改为黄色;同样根据按钮颜色,标签字段中的字体颜色应更改。

谁能告诉我如何做到这一点?

最佳答案

通过在 super.paint 之前在绘制事件上设置 graphics.setColor ,可以轻松维护 LabelField 中的字体颜色:

    class FCLabelField extends LabelField {
public FCLabelField(Object text, long style) {
super(text, style);
}

private int mFontColor = -1;

public void setFontColor(int fontColor) {
mFontColor = fontColor;
}

protected void paint(Graphics graphics) {
if (-1 != mFontColor)
graphics.setColor(mFontColor);
super.paint(graphics);
}
}

class Scr extends MainScreen implements FieldChangeListener {
FCLabelField mLabel;
ButtonField mRedButton;
ButtonField mGreenButton;
ButtonField mBlueButton;

public Scr() {
mLabel = new FCLabelField("COLOR LABEL",
FIELD_HCENTER);
add(mLabel);
mRedButton = new ButtonField("RED",
ButtonField.CONSUME_CLICK|FIELD_HCENTER);
mRedButton.setChangeListener(this);
add(mRedButton);
mGreenButton = new ButtonField("GREEN",
ButtonField.CONSUME_CLICK|FIELD_HCENTER);
mGreenButton.setChangeListener(this);
add(mGreenButton);
mBlueButton = new ButtonField("BLUE",
ButtonField.CONSUME_CLICK|FIELD_HCENTER);
mBlueButton.setChangeListener(this);
add(mBlueButton);
}

public void fieldChanged(Field field, int context) {
if (field == mRedButton) {
mLabel.setFontColor(Color.RED);
} else if (field == mGreenButton) {
mLabel.setFontColor(Color.GREEN);
} else if (field == mBlueButton) {
mLabel.setFontColor(Color.BLUE);
}
invalidate();
}
}

关于user-interface - 如何动态更改黑莓标签字段的字体颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366273/

24 4 0