我想做一个组件,它显示 JTextArea 中一组单词的所有匹配项,以及一些上下文(N 行,可能是用户可配置的。)
我已经有了突出显示匹配项的代码,所以我知道它们的偏移量,因此可以确定它们的界限。我知道文本的行高,因此我可以确定要绘制的上下文区域的边界。
但是有像 JViewport 这样的类只能绘制底层组件的多个视图吗?由于 JViewport 是一个普通的 Swing 组件,只要将相同的文本区域放在另一个视口下,它就会与第一个视口分离。
编辑:实际上,事实证明,我似乎无法确定上下文区域的边界,因为 JTextArea 给我的行到偏移映射不计算换行。