Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置JScrollpane并将其锁定到底部?_Java_Swing_Jscrollpane - Fatal编程技术网

Java 如何设置JScrollpane并将其锁定到底部?

Java 如何设置JScrollpane并将其锁定到底部?,java,swing,jscrollpane,Java,Swing,Jscrollpane,如何将JScrollPane设置到JTextArea的底部?我试过了 DefaultCaret插入符号=(DefaultCaret)getCaret(); 插入符号setUpdatePolicy(DefaultCaret.ALWAYS\u UPDATE)但它没有工作,它没有自动下降 这是我目前的代码 public class subTextAreaMessages extends JTextArea implements ActionListener{ private ArrayList al;

如何将JScrollPane设置到JTextArea的底部?我试过了
DefaultCaret插入符号=(DefaultCaret)getCaret();
插入符号setUpdatePolicy(DefaultCaret.ALWAYS\u 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);

根据您的具体要求,以下选项之一将有所帮助


  • 我遇到的问题是,我的文本被类似的内容周期性地完全替换,用户希望固定大文本内容中的可见位置。
    我的解决方案是通过扩展DefaultBoundedRangeModel来实现我自己的BoundedRangeModel。然后我告诉滚动窗格的滚动条使用我的模型的一个实例,一切都很顺利。

    我总是发现扩展JPanel并向其中添加内容更容易。更容易控制JPanel类的layoutmanager。然后您只需将面板添加到其他组件,它只是另一个JComponent。这段代码与您的问题有什么关系?我看不到在文本区域中添加任何文本的位置。