我需要更改附加图像上可见的非常明亮(几乎是白色)的颜色以及那些TabItems
上的字体颜色是白色TabFolder
的一部分。
我使用CSS并尝试在setBackground
和Composite
上调用TabFolder
函数,但没有成功。对我来说最好的解决方案是尽可能通过CSS进行更改
答案 0 :(得分:2)
Eclipse CSS支持中没有TabFolder
或TabItem
的特定代码,因此他们只需将background-color
和color
等所有控件共用的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的黑暗主题的一个例子。