java JTable不会滚动到最下面一行
我在JScrollPane中有一个JTable with,我想通过编程滚动到表的底部。我尝试的代码是:
int bottomRow = table.getRowCount()-1;
Rectangle rect = table.getCellRect(bottomRow,0,true);
table.scrollRectToVisible(rect);
我还尝试了以下代码:
int bottomRow = table.getRowCount()-1;
Rectangle rect = table.getCellRect(bottomRow,0,true);
jscrollPane1.getViewPort().setViewPosition(rect.getLocation());
这两个代码段的行为都是相同的,并且都将表格滚动到底部行,而不是底部行上方的几行,具体取决于矩形的高度
我需要帮助以可见矩形查看表的最后一行
# 1 楼答案
疯狂猜测(因为您没有提供足够的上下文),当收到关于tableModel中的更改的通知时,您希望更新滚动值
在这种情况下,问题是表本身正在侦听模型以更新其内部。由于您希望根据表本身的状态更改某些内容,因此必须确保只有在内部完全更新后才执行操作,例如:
# 2 楼答案
我写这个简单的例子是为了展示一个可行的解决方案,鉴于这个问题没有进一步的发展,我将把它作为一个工作示例发布,希望它能从OP中得到更多的信息