我正在尝试添加TextField。我在用
EditField _textBox = new EditField("Subject", "Some text");
用于创建标签为主题的文本框。我想更改文本框的标签(主题)的颜色。
答案 0 :(得分:1)
您需要自定义字段才能执行此操作,因为即使您覆盖EditField
,也无法更改EditField.paint()
标签的颜色。
我的建议是:
CustomEditField
HorizontalFieldManager
)
LabelField
,可编辑文字为EditField
以下是代码:
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.Graphics;
public class CustomEditField extends HorizontalFieldManager{
private static final int COLOR = 0x00FF0000; //colour for the label
private LabelField labelField; //for the label
private EditField editField; //for the editable text
public CustomEditField(String label, String initialValue){
labelField = new LabelField(label){
public void paint(Graphics g){
g.setColor(COLOR);
super.paint(g);
}
};
editField = new EditField("", initialValue); //set the label text to an empty string
add(labelField);
add(editField);
}
}
当然,您仍然需要添加您的方法来设置和获取EditField中的文本,以及您需要从EditField获得的任何其他特定方法,但作为概念验证,这可行。
答案 1 :(得分:0)
您可以Override
使用paint()
方法并调用setColor(int RGB)
方法来提供您想要的颜色可能会有所帮助
答案 2 :(得分:-2)
EditField _textBox = new EditField("Subject","Some text")
{
public void paint(Graphics g)
{
getManager().invalidate();
g.setColor(_color);
super.paint(g);
}
}