我有一个带JTreeTable的JScrollPane。通常,我的JTable包含很多项,应用程序必须将焦点设置到treetable中的特定行并滚动到它。我使用以下推荐代码来设置焦点:
table.scrollRectToVisible(table.getCellRect(rowIndex, vColIndex, true));由于某些原因,只有当新选择的行位于当前可见行的下方时,这才能起作用。但是,当程序要求选择当前可见行上方的不可见行时,它根本不会滚动到该位置。我已经在谷歌上搜索了很多关于这个问题的信息,但还没有找到任何解决方案。有没有人知道如何解决这个问题?提前谢谢你。
发布于 2011-11-13 00:55:34
scrollRectToVisible()方法仅确保矩形在视口中可见。我相信您可以将矩形设置为与视区相同的大小,这样即使起点可见,也可以强制滚动。
一种更简单的方法是使用:
scrollPane.getViewport().setViewPosition(...);发布于 2014-10-04 05:52:55
为了处理向上滚动的情况,我采用了以下变通方法:
table.scrollRectToVisible(table.getCellRect(0, 0, true));
table.scrollRectToVisible(table.getCellRect(rowIndex, vColIndex, true));https://stackoverflow.com/questions/8105931
复制相似问题