在JScrollPane中使用JTextArea设置插入位置

时间:2011-01-07 21:54:06

标签: java swing jscrollpane jtextarea caret

现在我在JScrollPane中有一个JTextArea。对于当前内容,它同时显示垂直和水平滚动条。我正在尝试实现搜索功能,用户可以搜索某个字符串,并将插入位置设置为该字符串的第一个匹配项。但是,当我设置我的插入位置时,JScrollPane似乎只能垂直滚动。因此水平关闭JTextArea的字符串将完全错过,水平滚动条根本不会滚动。

我正在使用基本功能 JTextArea的setCaretPosition()

有没有人知道为什么我的JScrollPane没有使用setCaretPosition()水平移动

修改

看起来水平滚动条正在滚动,但它移动得很少,几乎看不到。我只能看到角色的第一个像素。有没有办法让滚动条居中(或尽可能多)到插入位置?

1 个答案:

答案 0 :(得分:1)

您应该可以使用Visible Caret Listener

或者您也可以查看Center Line in Scroll Pane。它只是垂直居中,但您也可以自定义代码以进行水平调整。