我有一个项目,其中一些随机文本显示在JScrollPane中。此文本已编码,不可编辑。有没有办法在每行文本上创建鼠标单击事件,并让该事件单击文本并将其显示在textField中?
让我感到困惑的部分是如何对一行文本进行操作而不是按钮本身的clickevent。下面是项目的渲染和包含文本的区域。
答案 0 :(得分:1)
据推测,您的文本显示在JTextArea或JTextPane中,因此您需要将MouseListener添加到组件中。然后,当生成MouseEvent时,您可以获得插入位置。使用插入符号位置,您可以使用Utilities
类。它有如下方法:
getRowStart(...)
getRowEnd(...)
使用这些值,您可以使用Document
方法从getText(...)
获取文字。