我在JTextPane
内JScrollPane
。当我在文本窗格中突出显示某些单词时,我希望在JScrollBar
上突出显示其位置(类似于突出显示Eclipse中源代码中的错误)。
这可以用Swing吗?
答案 0 :(得分:2)
你遇到的“直接”问题是滚动窗格不支持“行页脚”的概念,它会为你提供滚动窗格右侧的一个区域,你可以渲染你的高亮点< / p>
您需要的是一个实现。您可以查看JideScrollPane
,它不仅支持行页脚,还支持列页脚。
从那里开始,使用与装饰普通滚动窗格(行和列标题)相同的概念就是一个简单的例子。
查看Providing Custom Decorations以获取一些提示。
另一个选择(我能想到)是使用JScrollPane
将正常的JPanel
放到BorderLayout
上,以便滚动窗格占据中心位置。这样就可以将自定义组件放置到EAST
位置,作为“标记”窗格。
这稍微简单一些,因为它不需要进行很多额外的更改。然后,您需要计算视口中文本的位置,作为其高度的百分比,这样您就可以将其转换回“标记”窗格