现在我在 JScrollPane 中有一个 JTextArea。对于当前内容,它同时显示垂直和水平滚动条。我正在尝试实现一个搜索功能,用户可以搜索某个字符串,并将插入符位置设置为该字符串的第一次出现。然而,当我设置插入符位置时,JScrollPane 似乎仅垂直滚动。因此,水平离开 JTextArea 的匹配字符串将完全被错过,并且水平滚动条根本不会滚动。
我使用的是基本功能
JTextArea 的 setCaretPosition()
有谁知道为什么我的 JScrollPane 没有使用 setCaretPosition() 水平移动
编辑:
水平滚动条似乎正在滚动,但移动幅度很小,几乎无法察觉。我只能看到角色的第一个像素。有没有办法让滚动条中心(或尽可能)到插入符号位置?
最佳答案
您应该能够使用 Visible Caret Listener .
或者您也可以查看 Center Line in Scroll Pane 。它仅将线垂直居中,但您也可以自定义代码以水平居中。
关于java - 在 JScrollPane 中使用 JTextArea 设置插入符位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630638/