java - SWT TableViewer 颜色交替(在某些操作系统中)

标签 java swt jface

在某些操作系统(例如我的 Ubuntu 11.10)中,有有趣的表格元素行为:背景颜色从白色变为灰色(第一个元素是白色,第二个元素是灰色,第三个元素是白色等)。

在我的应用程序中,我想编写自己的 CellLabelProvider对于 JFace TableViewer (这是必要的),我正在使用类 OwnerDrawLabelProvider 的扩展(并覆盖paint方法)。

我想用我自己的颜色绘制指定的行,并用系统颜色绘制其他行 (Display.getCurrent().getSystemColor(...)) ,但问题是,如果我把它画在 SWT.COLOR_LIST_BACKGROUND 中,然后所有行都被漆成白色,没有交替。如何设置?

我调试了应用程序,并意识到两种类型的原始数据(白色和灰色)具有相同的颜色 - 白色(这是正确的)。

最佳答案

没有办法像操作系统那样显式地“所有者绘制”它。如果您希望一行具有其 native 背景颜色,则您绝对不能自己绘制背景。

关于java - SWT TableViewer 颜色交替(在某些操作系统中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10685741/

相关文章:

java - JProgressBar 不更新

java - 更改swt下拉列表元素顺序

java - Jface 中的选项对话框

java - TableViewer 选择改变

eclipse - 使用 IElementUpdater 动态更新覆盖图标到命令在 eclipse 兼容模式下不起作用

java - 从已删除的类中获取错误

java - Vaadin7 - 网格禁用取消选择

java - 单元测试、调试和运行模式下的模拟对象

java - 在菜单中显示多列

java - 如何将 Swing 组件添加到 SWT 中?