gpt4 book ai didi

java - 多个视口(viewport)到同一个 JTextArea 上?

转载 作者:行者123 更新时间:2023-11-30 05:05:43 25 4
gpt4 key购买 nike

我想要制作一个组件,它显示 JTextArea 中一组单词的所有匹配项,以及一些上下文(N 行,可能是用户可配置的。)

我已经有了用于突出显示匹配的代码,因此我知道它们的偏移量,从而可以确定它们的边界。我知道文本的行高,因此我可以确定要绘制的上下文区域的边界。

但是是否有像 JViewport 这样的类只能绘制底层组件的多个 View ?由于 JViewport 是一个普通的 Swing 组件,因此一旦您将相同的文本区域放在另一个视口(viewport)下,它就会与第一个视口(viewport)分离。

编辑:实际上,事实证明,我似乎无法确定上下文区域的边界,因为 JTextArea 提供的行到偏移映射不计算换行数。

最佳答案

这里的问题是JViewport是一个普通的容器,并将其 View 组件视为子组件(并且每个组件只能是一个容器中的子组件)。这是非常合理的,因为始终只有一个组件可以获得焦点,以及类似的事情。

我不知道有任何类似 JViewport 的类可以执行您想要的操作(绘制组件的 View 而不是其父级),但在您的情况下,您可以通过使用两个 JTextArea 来实现大部分相同的效果共享同一个文档。我认为,您只需同步插入符号的移动(如果愿意)。

关于java - 多个视口(viewport)到同一个 JTextArea 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5148746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com