|
第一次使用JScrollPane+JTable的时候就碰到了这个常见的问题:如何让表格自动滚动到最底部?我的实现代码如下,当需要向表格中添加数据的时候,调用此代码段:
int rowCount=mTab.getRowCount();
mTab.getSelectionModel().setSelectionInterval(rowCount-1,rowCount-1);
Rectangle rect=mTab.getCellRect(rowCount-1,0,true);
mTab.updateUI();
mTab.scrollRectToVisible(rect);
注意:
1)语句mTab.updateUI()必须放在mTab.scrollRectToVisible(rect)之前。
2)上述第二和第三行语句中,如果使用rowCount作为参数,那么在向下滚动的时候没有选中的效果。这种效果在某些场合可能会更好看点。
说明:
1)mTab和mBar是类的成员变量,如下所示:
private DefaultTableModel mTabModel;
private JTable mTab;
private JScrollPane mPane;
2)mTab和mBar的初始化在构造方法中实现,如下所示:
String[] clmnNames={"Task","SubTask","Result","Information"};
mTabModel=new DefaultTableModel(clmnNames,1);
mTabModel.removeRow(0);
mTab=new JTable(mTabModel);
mPane=new JScrollPane(mTab);
3)此段代码参考自如下链接:
http://blog.csdn.net/dancen/article/details/7379847
程序运行效果图:
转自:http://blog.163.com/ljf_gzhu/blog/static/13155344020121052020611/
|
|