样式TreeViewer的滚动条

时间:2013-05-21 15:15:52

标签: java swt jface draw2d treeviewer

我有一个包含draw2d树和Nebula GridTreeViewer(基本上是JFace TreeViewer)的编辑器。我需要的是工作,除了滚动条。在draw2d中,我得到org.eclipse.draw2d.ScrollPane提供的滚动条,在GridTreeViewer中我从JFace获得滚动条。我不知道为什么,但滚动条看起来不一样,我希望它们看起来一样,因为如果我没有弄错的话,它们会调用OS的本机控件?滚动条看起来有什么不同的原因是否有一种方法可以“降级”JFace的滚动条看起来像draw2d?也许设置ScrollPane的滚动条有错误?

这是截图,这是在Ubuntu 13.04:

enter image description here

1 个答案:

答案 0 :(得分:2)

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

没有简单的解决方法。恕我直言,你可以尝试进入Draw2d源并尝试禁用他们的自定义绘制并将其替换为原生的(来自SWT)。或者您可以使用自定义树代替星云控制......

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