【问题标题】:Set Caret position with JTextArea in JScrollPane在 JScrollPane 中使用 JTextArea 设置插入符号位置
【发布时间】:2011-06-05 13:31:02
【问题描述】:

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

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

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

编辑:

水平滚动条似乎在滚动,但它移动的幅度很小,几乎看不到。我只能看到角色的第一个像素。有没有办法让滚动条中心(或尽可能多)到插入符号的位置?

【问题讨论】:

  • 为了尽快获得更好的帮助,请发布一个 SSCCE (pscode.org/sscce.html) 来演示该问题。或者至少,你到目前为止所拥有的。

标签: java swing jscrollpane jtextarea caret


【解决方案1】:

您应该可以使用Visible Caret Listener

或者你也可以看看Center Line in Scroll Pane。它只使线条垂直居中,但您也可以自定义代码以使其水平居中。

【讨论】:

  • 抱歉回复晚了,这些例子帮助很大。
猜你喜欢
  • 2011-08-22
  • 2013-07-25
  • 2013-07-18
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 2010-10-06
  • 2020-08-17
相关资源
最近更新 更多