将BlackBerry图像字段设置为焦点(突出显示)颜色

将BlackBerry图像字段设置为焦点(突出显示)颜色,blackberry,blackberry-simulator,blackberry-eclipse-plugin,blackberry-jde,Blackberry,Blackberry Simulator,Blackberry Eclipse Plugin,Blackberry Jde,我正在开发一个BlackBerry应用程序,它使用表行管理器创建表视图。在我的应用程序中,我添加了位图字段作为行背景,然后字段高亮显示的默认蓝色消失了。我在stackoverflow中阅读了一些答案,并实现了这段代码,试图使其以默认颜色突出显示: //添加背景图像 最终位图bck; bck=Bitmap.getBitmapResource(“内背条带.jpg”); BitmapField backgrnd=新的BitmapField(bck,BitmapField.FOCUSABLE){ 受保护

我正在开发一个BlackBerry应用程序,它使用表行管理器创建表视图。在我的应用程序中,我添加了位图字段作为行背景,然后字段高亮显示的默认蓝色消失了。我在stackoverflow中阅读了一些答案,并实现了这段代码,试图使其以默认颜色突出显示:

//添加背景图像
最终位图bck;
bck=Bitmap.getBitmapResource(“内背条带.jpg”);
BitmapField backgrnd=新的BitmapField(bck,BitmapField.FOCUSABLE){
受保护的void drawFocus(图形,布尔打开)
{
设置空间(5,5);
超级。drawFocus(图形,打开);
} 
};
但仍然有同样的问题,行没有突出显示,只有文本在滚动时变为白色

示例行背景:

这里我粘贴了我使用过的全部代码

公共类LeaveDetails扩展ListField实现ListFieldCallback{
TableRowManager行;
向量行;
私有字符串[]arrdNames={“Udith”、“Mohammadu”、“Rajaram”、“David”};
私人字符串[]截止日期={“2013年1月12日”、“2013年2月17日”、“2013年3月20日”、“2013年5月14日”};
私有字符串[]arrType={“病假”、“年假”、“病假”、“年假”};
私有int[]arrCount={3,5,2,6};
公众假期详情(){
超级(0,列表字段。多选择);
设置行高(100);
setEmptyString(“,DrawStyle.HCENTER);
setCallback(这个);
行=新向量();
对于(int x=0;x<4;x++){
行=新表行管理器();
//添加背景图像
最终位图bck;
bck=Bitmap.getBitmapResource(“内背条带.jpg”);
BitmapField backgrnd=新的BitmapField(bck,BitmapField.FOCUSABLE){
受保护的void drawFocus(图形,布尔打开)
{
设置空间(5,5);
超级。drawFocus(图形,打开);
}
};
行。添加(backgrnd);
//BitmapField backgrnd=新的BitmapField(Bitmap.getBitmapResource(“内背条带.jpg”),Field.FOCUSABLE);
//row.add(backgrnd);//字段0
//添加名称
LabelField lfName=new LabelField(String.valueOf(arrdNames[x]),FIELD\u HCENTER);
setFont(lfName.getFont().derive(Font.BOLD,30));
row.add(lfName);//字段1
//添加日期
LabelField日期=新LabelField(“应用日期:“+arrDate[x]);
行。添加(日期);//字段2
//添加类型
LabelField类型=新LabelField(“离开类型:+arrType[x]);
行。添加(类型);//字段3
//以数字形式添加持续时间
LabelField lfCountNotifications=new LabelField(String.valueOf(arrCount[x]),FIELD\u HCENTER);
setFont(lfCountNotifications.getFont().derive(Font.BOLD,72));
row.add(lfCountNotifications);//字段4
//添加“持续时间”一词
LabelField lfNewNotification=新LabelField(“持续时间/天数”,Field.Field\HCENTER);
lfNewNotification.setFont(lfNewNotification.getFont().derive(Font.GEORGIAN_脚本,30));
row.add(lfNewNotification);//字段5
//添加右箭头图像
BitmapField showMore=新的BitmapField(Bitmap.getBitmapResource(“more.png”);
row.add(showMore);//字段6
//将行添加到表中
行。添加元素(行);
}//for循环的结束
设置大小(rows.size());
}
//ListFieldCallback实现
public void drawListRow(ListField ListField、图形g、整数索引、整数y、整数宽度){
LeaveDetails列表=(LeaveDetails)列表字段;
TableRowManager rowManager=(TableRowManager)list.rows.elementAt(index);
rowManager.drawRow(g,0,y,width,list.getRowHeight());
}
//跟踪字段单击事件
受保护的布尔trackwheelClick(整数状态,整数时间)
{
int index=getSelectedIndex();
开关(索引){
案例0:对话框通知(索引+“单击”);
打破
案例1:对话框通知(索引+点击);
打破
案例2:对话框通知(索引+点击);
打破
案例3:对话框通知(索引+点击);
打破
默认值:Dialog.info(“错误!”);
打破
}
返回true;
}
私有类TableRowManager扩展管理器{
公共表行管理器(){
超级(0);
}
//使该行管理器中的字段进行布局
//画的。
公共空白绘图行(图形g、整数x、整数y、整数宽度、整数高度){
//在此行管理器中排列单元格字段。
布局(宽度、高度);
//将此行管理器放置在其封闭列表中。
设定位置(x,y);
//对图形应用平移/剪裁变换
//上下文,以便此行在正确的区域中绘制。
g、 pushRegion(getExtent());
//绘制此管理器的控制字段。
子漆(g);
//恢复图形上下文。
g、 popContext();
}
//在内部从左到右排列此管理器的受控字段
//封闭表的列。
受保护的空位子布局(整数宽度、整数高度){
//设置每个字段的大小和位置。
int fontHeight=Font.getDefault().getHeight();
int preferredWidth=getPreferredWidth();
//野外背景图像
字段=getField(0);
layoutChild(字段640166);
setPositionChild(字段,0,0);
//名字
field=getField(1);
layoutChild(场,640,方特