JScrollBar,在JTextPane中突出显示所选文本的位置

时间:2013-01-24 22:37:00

标签: java swing jscrollpane jscrollbar

我在JTextPaneJScrollPane。当我在文本窗格中突出显示某些单词时,我希望在JScrollBar上突出显示其位置(类似于突出显示Eclipse中源代码中的错误)。

这可以用Swing吗?

1 个答案:

答案 0 :(得分:2)

你遇到的“直接”问题是滚动窗格不支持“行页脚”的概念,它会为你提供滚动窗格右侧的一个区域,你可以渲染你的高亮点< / p>

enter image description here

选择#1

您需要的是一个实现。您可以查看JideScrollPane,它不仅支持行页脚,还支持列页脚。

从那里开始,使用与装饰普通滚动窗格(行和列标题)相同的概念就是一个简单的例子。

查看Providing Custom Decorations以获取一些提示。

选择#2

另一个选择(我能想到)是使用JScrollPane将正常的JPanel放到BorderLayout上,以便滚动窗格占据中心位置。这样就可以将自定义组件放置到EAST位置,作为“标记”窗格。

这稍微简单一些,因为它不需要进行很多额外的更改。然后,您需要计算视口中文本的位置,作为其高度的百分比,这样您就可以将其转换回“标记”窗格