我的Java GUI应用程序包含一个可滚动的文本窗口。除了标准的滚动条,我需要一个带有彩色线标记的垂直条,就像在Eclipse中一样。希望你知道我在说什么。该条不可滚动,标记位置与整个文本的高度成比例排列。当用户单击任何标记时,文本框将滚动到相应的行。
我无法在SWT小部件套件中找到此类控件。很明显,SWT包含它。对我来说理想的选择是Swing组件,因为应用程序是基于Swing的。
非常感谢提前。
答案 0 :(得分:1)
我认为没有与Swing捆绑的组件,我不知道任何提供此类组件的库,你应该能够自己做。
在滚动窗格旁边提供一个面板,每当重新渲染滚动窗格/文本窗格时,也会重新渲染该面板。然后根据行放置标记(可以是第一步中的JLabel,稍后绘制自己的并添加鼠标处理) - 在这种情况下,布局管理器应为null。
可以使用line/numlines * height(panel)
计算头寸,例如对于20行100和面板高度200,标记的位置将是高度20/100 * 200像素= 40像素。
答案 1 :(得分:1)
你想要的尺子不是来自SWT。它来自jface-text插件。您要找的班级是org.eclipse.jface.text.source.CompositeRuler
答案 2 :(得分:0)
如果您还在询问,这里是一个(非免费)标记栏组件: http://www.sideofsoftware.com/marker_bar.htm