首页 > 代码库 > JScrollPanel滚动条自动滑到底部的实现

JScrollPanel滚动条自动滑到底部的实现

  1. JScrollPanel与JTable一起使用时,有两种方法,在监听器中添加以下代码,可以在table中增加一行时滚动条始终处于最底部:

    方法1(该方法效果正常):

    int rowCount = tblLogState.getRowCount();
    tblLogState.getSelectionModel().setSelectionInterval(rowCount - 1, rowCount - 1);
    Rectangle rect = tblLogState.getCellRect(rowCount - 1, 0, true);
    tblLogState.updateUI();
    tblLogState.scrollRectToVisible(rect);

       方法2(该方法会出现新加行的界面无法刷新的情况):

    JScrollBar scrollBar = spTableState.getVerticalScrollBar();
    scrollBar.setValue(scrollBar.getMaximum());

2. JScrollPanel与JTextArea一起使用时。

    方法(待测试)

    int height=10;
    Point p = new Point();
    p.setLocation(0,this.jTextArea1.getLineCount()*height);
    this.jScrollPane1.getViewport().setViewPosition(p);

参考文档:http://blog.csdn.net/dancen/article/details/7379847

JScrollPanel滚动条自动滑到底部的实现