- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我编写了一个 Eclipse 插件,它提供了一些使用 CTabFolder 组件的 UI。
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);
会产生这个(丑陋的)标签
所以你只需要点击 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);
编辑
找到正确的方法
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/
我想更改 Activity CTabItem 下划线的颜色。该线是黑色的,我想要其他颜色,请参见下图。 最佳答案 我同意@greg-449的观点,通常你不应该搞乱CTabFolderRenderer,
我有 CtabItem,其中有一个 Composite 小部件。然后,我在里面添加了一些组件。代码是这样的 - Composite composite = new Composite(tabFolde
我将一些带有 Image 的 CTabItem 添加到 CTabFolder 中: CTabFolder tabFolder = new CTabFolder(someSection, SWT.BOR
我编写了一个 Eclipse 插件,它提供了一些使用 CTabFolder 组件的 UI。 Eclipse 提供的 CTabItem 在 Activity 时有蓝色边框,在不活动时有白色边框(如果 C
javadoc SWT CTabItem.dispose() 提到: This method is not called recursively on the descendants of the r
我找不到任何方法使选项卡在 SWT/JFace 应用程序中不可见或以其他方式隐藏 --- 我希望第二个选项卡可用(或不可用)基于用户设置的一些其他首选项。 想明白这一点应该不难! 最佳答案 我所知道的
对于大多数人来说,这可能是一个微不足道的问题,但这里... 我正在使用 SWT 并想在 CTabItem(或 TabItem,如果更容易的话)中显示一个表。我尝试创建表并在这样做时使用 CTabIte
我正在动态添加 CTabItems,但是当我添加一个新的 CTabItem 并在 CTabFolder 上调用 setSelection 时,它不会调用 CTabFolder 的 selectionL
如何在 CTabItem 中为 SWT.CLOSE 事件添加监听器? 我试过 tab.addListener 但它不起作用。 最佳答案 作为@avojak提到,您可以向每个选项卡项添加一个 Dispo
有没有办法在 SWT 中将 CTabItem 从一个 CTabFolder 移动到另一个 CTabFolder? CTabFolder folder1 = new CTabFolder(parent,
我开始使用 SWT 编程,我正在尝试重新编程 this example ,其中 CTabItem 是在 CTabFolder 中创建的。但由于我是 GUI 编程的菜鸟,所以有些事情对我来说非常不清楚。
我正在使用带有多个 CTabItem 的 CTabFolder。我希望能够仅设置单个 CTabItem 选项卡的背景色和前景色。 我有一个设置字体的选项,但我找不到任何关于 TabItem 本身的颜色
我是一名优秀的程序员,十分优秀!