0

如何将 JScrollPane 设置到 JTextArea 的底部?我试过 DefaultCaret caret = (DefaultCaret)getCaret(); caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);但它没有工作它没有自动下降。

这是我当前的代码

public class subTextAreaMessages extends JTextArea implements ActionListener{
private ArrayList al;
public subTextAreaMessages()
{
    setEditable(false);
    listTheMessages();
    Timer t = new Timer(500,this);
    t.start();
}

public void listTheMessages()
{
    ConnectMysql.getUsernamesTest(this);
}

@Override
public void actionPerformed(ActionEvent e) {

    try {
        System.out.print(getText(185,186));
    } catch (BadLocationException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
}
 }




jspTextField = new JScrollPane(new subTextAreaMessages());

mainPanel2.add(jspTextField ,BorderLayout.CENTER);
4

2 回答 2

1

根据您的确切要求,以下其中一项应该会有所帮助

  1. 文本区域滚动
  2. 智能滚动
于 2013-05-02T22:58:05.417 回答
0

我遇到的问题是我的文本会定期被类似的内容完全替换,并且用户希望将大文本内容中的可见位置保持固定。我的解决方案是通过扩展 DefaultBoundedRangeModel 来实现我自己的 BoundedRangeModel。然后我告诉 ScrollPane 的 ScrollBars 使用我的模型的一个实例,一切顺利。

于 2016-06-23T19:14:11.330 回答