Kri*_*ath 18 java swing awt jscrollpane jtextarea
我正在尝试使用JTextArea实现JScrollPane.JTextArea被附加到,我希望JScrollPane在添加更多文本时继续向下滚动.怎么能实现这一目标?
cam*_*ckr 38
对于(我认为)更简单的答案签出:文本区域滚动.
在JDK5之前,您必须在每次追加后手动更改插入符的位置.您现在可以将此行为设置为默认值,如下所示:
Run Code Online (Sandbox Code Playgroud)JTextArea textArea = new JTextArea(); DefaultCaret caret = (DefaultCaret)textArea.getCaret(); caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);这样做的好处是您不需要在代码中多次使用此代码段!
我在这里找到了答案: JScrollPane和JList自动滚动
scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
});
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您经常向其写入数据,您可以使用:
textArea.setCaretPosition(textArea.getDocument().getLength());
Run Code Online (Sandbox Code Playgroud)
在您添加新数据之后.
这将自动向下滚动JScorllPane.
这是解决方案.
JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50929 次 |
| 最近记录: |