Blackberry:正确绘制TableModel焦点
我需要帮助正确绘制所选行的焦点。 当前,如果我选择类别的第一项,分隔符也会高亮显示。那么,如何实现自定义聚焦图形,以便仅聚焦/高亮显示选定行 我正在使用此处发布的源代码: 我正在使用RIM和JRE 7.0.0中的EclipseIDEBlackberry:正确绘制TableModel焦点,blackberry,focus,tablemodel,Blackberry,Focus,Tablemodel,我需要帮助正确绘制所选行的焦点。 当前,如果我选择类别的第一项,分隔符也会高亮显示。那么,如何实现自定义聚焦图形,以便仅聚焦/高亮显示选定行 我正在使用此处发布的源代码: 我正在使用RIM和JRE 7.0.0中的EclipseIDE 公共类产品屏幕扩展主屏幕 { private TableModel\u TableModel; 专用静态最终整数行高度=40; 公共产品屏幕(主类别mc) { 超级(Manager.NO_垂直滚动| Manager.HORIZONTAL_滚动); DBManager
公共类产品屏幕扩展主屏幕
{
private TableModel\u TableModel;
专用静态最终整数行高度=40;
公共产品屏幕(主类别mc)
{
超级(Manager.NO_垂直滚动| Manager.HORIZONTAL_滚动);
DBManager dbman=DBManager.getInstance();
AllProductByCategory[]产品=null;
试一试{
products=dbman.getProducts(mc.getID().intValue());
}捕获(数据库异常){
System.out.println(e.getMessage());
e、 printStackTrace();
}捕获(远程异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
setTitle(mc.getName());
_tableModel=new tableModel();/(StringComparator.getInstance(true),0);
if(产品!=null)
{
对于(int i=0;i
解决方案:
我能够用下面的方法自己解决这个问题。
我只是添加了一个覆盖的LabelField作为headerfield,并没有实现它的焦点绘制。因此,只有“子字段”才能获得焦点
也许有些人会用另一种方式实现它(看看Nate的答案),但它对我有效。因此,我没有时间完全集成您的新代码示例,它包含我没有的数据模型代码,并且似乎为
位图字段添加了数据模板列。希望你能适应我所做的,重新整合这些变化
我相信有不止一种方法可以做到这一点,我并不是说这种方法是最高性能的。但是,它似乎像您所期望的那样绘制焦点,当分隔行正下方的行被聚焦时,分隔行不会高亮显示
我所做的就是放弃了使用多个区域的概念,只是让我的数据模板一行一列。如果需要,可以将其设置为1行乘2列,其中我没有显示的列是位图字段
但是,我所做的是在每个新组/类别的第一行放置一个VerticalFieldManager
。该VerticalFieldManager
然后包含一个分隔符/标题行、一个分隔符字段(仅一条水平线),然后是实际的产品行。如果该行不是组/类别中的第一行,我只会返回一个简单的字段
,而不是包含三个字段
对象的垂直字段管理器
然后,我将TableController
焦点策略更改为字段_