gpt4 book ai didi

java - 如何正确设置 CTabItem 的边框样式

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:19 26 4
gpt4 key购买 nike

我编写了一个 Eclipse 插件,它提供了一些使用 CTabFolder 组件的 UI。

App screenshot

Eclipse 提供的 CTabItem 在 Activity 时有蓝色边框,在不活动时有白色边框(如果 CTabItem 是 Eclipse View 则为灰色)。

我创建的 CTabItems 始终带有白色边框,并且 Activity 选项卡上的文本带有下划线。

如何控制 CTabItems 的样式以更接近 Eclipse 选项卡?

编辑:

我想出了以下代码,它从 Activity 的 Eclipse 主题中提取正确的颜色。

IWorkbench workBench = PlatformUI.getWorkbench();
ITheme theme = workBench.getThemeManager().getCurrentTheme();
ColorRegistry colreg = theme.getColorRegistry();

Color c1 = colreg.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_START);
Color c2 = colreg.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_END);

但是,这并不理想,因为 IWorkbenchThemeConstants 在 eclipse ui 内部包中。

是否有其他公共(public)方式来引用这些内部 IWorkbenchThemeConstants 引用的相同颜色?

最佳答案

您可以使用方法在选定和未选定的 CTabFolder 项目上定义渐变。例如

CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
folder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_YELLOW), display.getSystemColor(SWT.COLOR_RED)}, new int[]{100}, true);
folder.setSelectionBackground(new Color[]{display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_BLUE)}, new int[]{100}, true);

会产生这个(丑陋的)标签

colored SWT CTabFolder

所以你只需要点击 eclipse 拥有的正确颜色..

或者您可以编写自己的 CTabFolderRenderer并将其设置为您的 CTabFolder 实例。

编辑

对于 Eclipse 颜色尝试

folder.setSelectionBackground(new Color[]{new Color(display, new RGB(242, 244, 247)), new Color(display, new RGB(157, 167, 195))}, new int[]{100}, true);

enter image description here

编辑

找到正确的方法

folder.setSelectionBackground(new Color[]{display.getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT), display.getSystemColor(SWT.COLOR_TITLE_BACKGROUND)}, new int[]{100}, true);

关于java - 如何正确设置 CTabItem 的边框样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6649756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com