2016-04-28 50 views
1

我在JScrollPane中有一個JTextArea,並且插入更新工作正常。Java JScrollPane點擊進入後停止滾動

DefaultCaret caret = (DefaultCaret)jTextArea1.getCaret(); 
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE); 

我的問題是,我點擊JTextArea後,滾動條變大,但視口仍然沒有遵循。

enter image description here

正如你所看到的,在底部垂直滾動條心不是。到TextPane下角的距離正在增加,但視口仍然保留在他的位置上。同時,由於HTML支持,我切換到JTextPane,但仍面臨同樣的問題。

我希望你能理解我,問候。

回答

1

當您單擊JTextArea時,您正在設置插入點位置。插入符號總是試圖使其自己可見,所以如果稍後將文本添加到插入符處,文本區域將停止滾動。所以當你添加文本時,你還需要調用textarea.setCaretPosition(wherever_you_want_it_to_be)。