制作JScrollPane会自动向下滚动

2022-09-02 02:24:18

我正在尝试使用JTextArea实现JScrollPane。JTextArea被附加到,我希望JScrollPane随着更多文本的添加而继续向下滚动。如何实现这一点?


答案 1

对于(我认为是)一个更简单的答案检查:文本区域滚动

在 JDK5 之前,您必须在每次追加后手动更改插入记号的位置。您现在可以将此行为作为默认值,如下所示:

 JTextArea textArea = new JTextArea();
 DefaultCaret caret = (DefaultCaret)textArea.getCaret();
 caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

这样做的好处是,您不需要在代码中多次使用此代码段!


答案 2

我在这里找到了答案:JScrollPane和JList自动滚动

scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {  
        public void adjustmentValueChanged(AdjustmentEvent e) {  
            e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
        }
    });

推荐