目前在JAVA SWT(org.eclipse.swt.widgets.Table& org.eclipse.jface.viewers.TableViewer库)的帮助下,我有一个从DB填充的表。想法是刷新表数据,同时用户向下滚动以使用滚动条检查表格行,并让滚动条位置恢复到刷新事件之前的相同位置。因此用户在向下滚动数据时从不会觉得某些刷新事件在后台工作。
是否有任何内置的方法或库存在于jdk或上面的eclipse包中以获得&动态设置滚动条的位置?
我找到了一个获得滚动条位置的逻辑
ScrollBar vScroll = Table.getVerticalBar();
int valuetemp = vScroll.getSelection();
但是在刷新表格内容之后,当滚动条移动到非常有限的条目之后,如果我使用下面的代码来恢复滚动条。理想情况下,它应该按照API工作,但它没有将我的滚动条位置移动到前一个值。
vScroll.setSelection(valuetemp);
答案 0 :(得分:0)
我有类似的问题。我试图将滚动条保持在最新的表输入。 我找不到
的解决方案 ScrollBar.class
但以下代码对我有用:
table.setTopIndex(table.getItemCount()-1);
我希望这会有所帮助:)