Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 在字体设置过程中,标签字段变得笨拙_Blackberry - Fatal编程技术网

Blackberry 在字体设置过程中,标签字段变得笨拙

Blackberry 在字体设置过程中,标签字段变得笨拙,blackberry,Blackberry,我有一个问题,黑莓5和6操作系统的模拟器 设置字体时,标签字段变得笨拙 Blackberry 7也同样适用 这是我的示例代码 LabelField\u lblTitle3= 新拉伯菲尔德(奥弗斯塔特斯, 使用_ALL_WIDTH | Field.Field_VCENTER| LabelField.省略号|字段.不可聚焦){ 受保护的void drawFocus(图形,布尔打开){ }; 受保护的void paintBackground(图形){ 字符串offerStatus=_offerbj.g

我有一个问题,黑莓5和6操作系统的模拟器 设置字体时,标签字段变得笨拙 Blackberry 7也同样适用

这是我的示例代码

LabelField\u lblTitle3=
新拉伯菲尔德(奥弗斯塔特斯,
使用_ALL_WIDTH | Field.Field_VCENTER|
LabelField.省略号|字段.不可聚焦){
受保护的void drawFocus(图形,布尔打开){
};
受保护的void paintBackground(图形){
字符串offerStatus=_offerbj.getCategoryStatus();
内色;
if(offerStatus.equalsIgnoreCase(“已保存”))
颜色=颜色。蓝色;
else if(offerStatus.equalsIgnoreCase(“已接受!”)
颜色=颜色。绿色;
其他的
颜色=颜色。黑色;
如果(_isFocus){
图形.设置颜色(颜色.白色);
}否则{
图形。设置颜色(颜色);
}
超级油漆(图形);
};
};
Font myFont=Font.getDefault();
FontFamily字体=FontFamily.forName(“新罗马时代”);
int fType=Font.BOLD
int fSize=12
myFont=typeface.getFont(fType,fSize);
_lblTitle3.setFont(myFont);
图片如下


你想做什么?只需更改字体颜色?

如果是这样,您可能不想覆盖
paintBackground()

paintBackground()
的实现中,您正在调用
super.paint()
。我不确定这会有什么作用,但如果这是错误的,我也不会感到惊讶

paint()
paintBackground()
是两个独立的东西

如果您只想根据文本和焦点状态更改字体颜色,只需将该逻辑放在
paint()
方法中,并保持
paintBackground()
不变(不要覆盖它)

此外,当您更改
图形
上下文时,要执行诸如设置新颜色之类的操作,通常先存储旧颜色,然后再重置它会更安全。大概是这样的:

受保护的空心漆(图形){
int oldColor=graphics.getColor();
字符串offerStatus=_offerbj.getCategoryStatus();
内色;
if(offerStatus.equalsIgnoreCase(“已保存”))
颜色=颜色。蓝色;
else if(offerStatus.equalsIgnoreCase(“已接受!”)
颜色=颜色。绿色;
其他的
颜色=颜色。黑色;
如果(_isFocus){
图形.设置颜色(颜色.白色);
}否则{
图形。设置颜色(颜色);
}
超级油漆(图形);
图形.setColor(oldColor);
};

你想做什么?只需更改字体颜色?

如果是这样,您可能不想覆盖
paintBackground()

paintBackground()
的实现中,您正在调用
super.paint()
。我不确定这会有什么作用,但如果这是错误的,我也不会感到惊讶

paint()
paintBackground()
是两个独立的东西

如果您只想根据文本和焦点状态更改字体颜色,只需将该逻辑放在
paint()
方法中,并保持
paintBackground()
不变(不要覆盖它)

此外,当您更改
图形
上下文时,要执行诸如设置新颜色之类的操作,通常先存储旧颜色,然后再重置它会更安全。大概是这样的:

受保护的空心漆(图形){
int oldColor=graphics.getColor();
字符串offerStatus=_offerbj.getCategoryStatus();
内色;
if(offerStatus.equalsIgnoreCase(“已保存”))
颜色=颜色。蓝色;
else if(offerStatus.equalsIgnoreCase(“已接受!”)
颜色=颜色。绿色;
其他的
颜色=颜色。黑色;
如果(_isFocus){
图形.设置颜色(颜色.白色);
}否则{
图形。设置颜色(颜色);
}
超级油漆(图形);
图形.setColor(oldColor);
};