Jface表行验证

时间:2017-06-07 05:07:50

标签: eclipse eclipse-plugin swt jface

背景 我有一个Jface表,我在其中为每列设置了文本单元格编辑器的编辑支持。大约有20列。

问题: 我想突出显示深红色的无效行字段文本和浅红色的整行。

我现在尝试的内容: 1.我使用标签提供程序getBackgroundColor()和getForgroundColor()突出显示了无效字段(行的单个单元格)。 2.我尝试使用CellEditors setValidator()方法添加验证器,但我不想从单元格中清除无效文本,我只是想突出显示它。 3.我有一种方法可以为每个单元格使用一个标志来检查该单元格的有效性,如果任何标志为真,将突出显示该行的所有单元格(可以使用标签提供程序实现)。但是,我认为这种方法会影响我的表的性能。 4.我不确定Jface的表updatatestrategy对性能的影响。所以我没有使用它。

突出显示整行表格的原因是:表格有20多列,用户不想滚动表格来查找问题所在位置。

如果您有任何更好的解决方案,请提出建议。

1 个答案:

答案 0 :(得分:1)

使用标签提供程序来获取颜色是这样做的方法。

只有在创建或刷新行时才会询问标签提供商的颜色 - 通过调用其中一个查看器refreshupdate方法,这不会影响性能。