请问怎样让放在JScrollPane中的JTable随着行的增加自动滚动到最后一行,而不需要手动拖动垂直滚动条?
我用了直接操纵JScrollPane中的JScrollBar  
  JScrollPane   sPane   =   new   JScrollPane(table);  
  JScrollBar   sBar   =   sPane.getVerticalScrollBar();   //得到了该JScrollBar  
  
  sBar.setValue(int   value);   //设置一个具体位置,value为具体的位置  
  int   value   =   sBar.getValue();//得到JScrollBar现在的位置  
  sBar.getMaximum();   //得到允许的最大值  
  sBar.getMinimum();   //得到允许的最小值 具体操作:  sBar.setValue(sBar.getMaximum()) ;
但是始终不是最后一行 而是table中的倒数第二行 但是我非要用手把滚动条移动下才能到最后一行。
请问如何解决。

解决方案 »

  1.   

    好像没那么复杂://认最后一行可见
    this.jTable1.scrollRectToVisible(this.jTable1.getCellRect(this.jTable1.getRowCount()-1,0,true));
    //选取最后一行
    this.jTable1.setRowSelectionInterval(this.jTable1.getRowCount()-1, this.jTable1.getRowCount()-1);
      

  2.   

    就是楼上那样做,其作用是将 scrollRectToVisible() 消息转发到 JComponent 的父组件。可执行该请求的组件(如 JViewport)会重写此方法并执行滚动。
    getCellRect(int row, int column, boolean includeSpacing) 的作用是返回位于 row 和 column 相交位置的单元格矩形。