选择JTable中显示的行

时间:2012-01-27 14:16:14

标签: java swing jtable

我有一个JTable,在其TableModel中,我保存了一个int;这是我希望我的视图“保持在视口中间”的行索引 我的意思是,例如,如果我有1000行,任何时候在视图中显示10个,我的索引是500,我希望我的vieport自动显示行495-504。 这些行必须选择。 我希望我能够正确解释我的问题。

谢谢

2 个答案:

答案 0 :(得分:3)

1)JTable(通知可以由Filtering引起)返回行数

2)每一行都可以返回Rectangle

3)将此Rectangle放入包含在invokeLater()中的JScrollPane#scrollRectToVisible(Rectangle aRect),这是关于将JViewport移动到决策行here

的简单示例

答案 1 :(得分:3)

假设你的行高相同,

int rowPosition = index - 10 / 2;
int pixelPosition = rowPosition * table.getRowHeight(rowPosition);
scrollPane.getViewPort().setViewPosition(new Point(0, pixelPosition));

如果行高不相同,则必须将第1行的所有行高加到行索引 - 5.