Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/10.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
Eclipse SWT:更改列下所有单元格的颜色_Eclipse_Colors_Swt - Fatal编程技术网

Eclipse SWT:更改列下所有单元格的颜色

Eclipse SWT:更改列下所有单元格的颜色,eclipse,colors,swt,Eclipse,Colors,Swt,我在网上搜索过,但没有找到答案。如何更改一列下所有单元格的颜色,就像图片中的第一列一样?从第二列和第三列可以看出,这是一个较暗的阴影。现在我认为改变TableItem的背景不会解决这个问题,因为它只会改变单元格的颜色,效果可以在第一行看到 有什么想法吗?如果您使用的是表格,可以使用int描述列索引的方法对单元格进行着色。要为整个列着色,您必须迭代所有TableItems并设置该列的颜色 如果使用的是TableViewer(我建议使用),则可以在LabelProviderspublic void

我在网上搜索过,但没有找到答案。如何更改一列下所有单元格的颜色,就像图片中的第一列一样?从第二列和第三列可以看出,这是一个较暗的阴影。现在我认为改变TableItem的背景不会解决这个问题,因为它只会改变单元格的颜色,效果可以在第一行看到


有什么想法吗?

如果您使用的是
表格
,可以使用
int
描述列索引的方法对单元格进行着色。要为整个列着色,您必须迭代所有
TableItem
s并设置该列的颜色



如果使用的是
TableViewer
(我建议使用),则可以在
LabelProvider
s
public void update(ViewerCell单元格)
方法中设置颜色。只需调用第一列。您可以通过获取列索引。

我怀疑,您是指行,而不是列。不,如果您查看第一列的单元格,它的阴影比其他列的颜色更深。你是如何做到的?不,你混淆了术语。一排是水平的。所以第一排是深灰色的,而另外两排是白色的。在您的示例中,列都是相同的(请参见)。回到您的问题:您使用的是
表格查看器
还是简单的
表格
?图片中有三种颜色:白色、浅灰色和深灰色。深灰色(第一行)表示编辑表对象中TableItem对象颜色的结果。浅灰色(第一栏)是我要求达到的目标。我道歉。我的显示器将两种颜色都显示为白色。请看下面我的答案。啊,我还没有看TableViewer。今晚晚些时候我会试试看。@如果你这么做时需要帮助,并且认为我的答案解决了你的问题,请投票并接受它。祝你好运。我尝试了两种建议的解决方案,但结果都一样。在这张图中,我添加了5个项目,背景只改变了5个项目的颜色,而不是整个列的颜色。我开始相信,如果不添加X个项目,就无法更改列背景的颜色。因此,您正在尝试为没有项目的区域着色?这在内置函数中是不可能的。也许你可以在表中添加一个
PaintListener
,然后自己绘制,但这可能会变得非常混乱。或者你可以填上空的项目并给它们上色。