刷新JScrollPane

时间:2013-06-12 00:47:16

标签: java swing jscrollpane jtextarea caret

我有问题;我希望你能帮助我:)。

我想刷新一个JScrollPane。我写了一个示例程序,显示了我想要做的事情:

import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JFrame;

public class ScrollEx extends JFrame{
    private static final long serialVersionUID = 1L;

    private JPanel panel = new JPanel();
    private JTextArea area = new JTextArea(15, 20);
    private JScrollPane scroll = new JScrollPane(area);

    public ScrollEx(){
        super("JScrollPane Test!");

        setSize(300, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        this.panel.setSize(300, 300);
        this.panel.add(scroll);

        for(Integer i = 0; i <= 50; i++){
            this.area.append(i.toString() + "\n");
        }

        getContentPane().add(panel);    

        setVisible(true);
    }

    public static void main(String [] args){
        new ScrollEx();
    }
}

上面的代码显示了一个简单的程序,它打印出JTextArea上0到50之间的数字。但是,此打印超出JTextArea的范围,JScrollPane不会自行刷新。所以我的问题是,如何刷新JScrollPane 并使其动态显示整个数字列表?

1 个答案:

答案 0 :(得分:2)

  

但是,此打印超出了JTextArea的范围,并且JScrollPane不会自行刷新

显示所有数据。如果您的意思是希望滚动窗格自动滚动以查看添加的最后一行,请查看Text Area Scrolling以获取有关正在发生的事情和解决方案的说明。