在Eclipse RCP 3.x中更改TabFolder的颜色

时间:2018-01-01 14:02:20

标签: java eclipse eclipse-rcp

我需要更改附加图像上可见的非常明亮(几乎是白色)的颜色以及那些TabItems上的字体颜色是白色TabFolder的一部分。 我使用CSS并尝试在setBackgroundComposite上调用TabFolder函数,但没有成功。对我来说最好的解决方案是尽可能通过CSS进行更改

enter image description here

1 个答案:

答案 0 :(得分:2)

Eclipse CSS支持中没有TabFolderTabItem的特定代码,因此他们只需将background-colorcolor等所有控件共用的CSS。< / p>

color似乎确实更改了标签文件夹标签文字的颜色,background-color确实更改标签背景(它会更改其余控件的背景) )。

Eclipse CSS支持通过调用控件中的常规SWT方法来工作,因为TabFolder没有设置选项卡背景的方法,所以无法做到这一点。

CTabFolder更加灵活,允许使用新的选项卡渲染器,可以扩展CSS。另请注意,在某些平台CTabFolder看起来与TabFolder(特别是macOS)大不相同。

您可以使用CSS类和ID将CSS限制为仅限文件夹。例如,在您的代码中使用:

CSSUtil.setCSSClass(folder, "my-folder-class");

设置文件夹的CSS类,在CSS中使用类:

CTabFolder.my-folder-class
{
  swt-tab-renderer: url('bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering');
  swt-shadow-visible: false;
  swt-simple: false;
  swt-tab-height: 22px;
  swt-unselected-tabs-color:  black;
  swt-selected-tab-fill: black;
  swt-outer-keyline-color: black;
  swt-tab-outline: black;
  swt-shadow-color: black;
  swt-unselected-hot-tab-color-background: #2F2F2F;
  swt-selected-tabs-background: black black 100%;
  color: rgb(128, 128, 128);
}

此CSS还显示了标准Eclipse自定义选项卡文件夹渲染器的使用。这只是我自己的一个RCP的黑暗主题的一个例子。