我在JScrollPane中有一个JtextArea,想要在AutoScroll之间切换。
编辑:AutoScroll - 当JTextArea扩展时,永久滚动到底部
对于Autoscroll我使用:
DefaultCaret caret = (DefaultCaret)textPane.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
哪个工作正常。 作为交换机我使用复选框:
JCheckBox chckbxNewCheckBox = new JCheckBox("AutoScroll");
chckbxNewCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(chckbxNewCheckBox.isSelected()){
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
} else {
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
}
}
});
使用此方法,我可以切换默认" on"到"关"。但转换" on"再次不起作用。 JtextArea不可编辑。
谢谢=)
答案 0 :(得分:0)
尝试以下方法:
textArea.setCaretPosition(textArea.getDocument().getLength());
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
另一种选择可能是使用Smart Scrolling,允许用户通过定位滚动条来控制滚动。