1

我有一个具有 draw2d 树和 Nebula 的编辑器GridTreeViewer(基本上是 JFace TreeViewer)。我需要的是工作,除了滚动条。在 draw2d 中,我得到由 JFace 提供的滚动条org.eclipse.draw2d.ScrollPane,在GridTreeViewer我得到来自 JFace 的滚动条。我不知道为什么,但是滚动条看起来不同,如果我没记错的话,我希望它们看起来一样,因为它们正在调用操作系统的本机控件?滚动条看起来不同有什么原因吗?有没有办法“降级”JFace 的滚动条看起来像 draw2d 的?也许设置 ScrollPane 的滚动条有误?

这是屏幕截图,这是在 Ubuntu 13.04 上:

在此处输入图像描述

4

1 回答 1

2

你这边没有错。最左边的树有一个自定义绘制的滚动条(我假设那是 Draw2d 树),最右边的树显示本机滚动条(我猜那些是你称之为“JFace”的那些)。您会注意到 Eclipse 之外的大多数应用程序都显示滚动条,例如“JFace”。也就是说,如果启用了 Ubuntu 覆盖滚动条。

对此没有简单的解决方法。恕我直言,您可以尝试获取 Draw2d 源并尝试禁用它们的自定义绘制并用本机(来自 SWT)替换它们。或者您可以在 Nebula 控件上使用自定义树...

请注意,“JFace”工具栏在 Mac OS X 或 Windows 上看起来会大不相同,会有不同的大小等等。用户会期待他们:)

于 2013-05-21T18:31:06.150 回答