在java swing中同步N个jtables的滚动

时间:2013-08-21 17:28:59

标签: java swing jtable jscrollpane jscrollbar

我要求并排排列在网格窗格中的N个表格,只要所有jtables的滚动窗格的高度保持不变。现在我想同步所有jtables的滚动意味着如果我滚动第一个jtable,那么其余的jtables应该自动滚动相同的数量。

有人对此有任何想法吗?

2 个答案:

答案 0 :(得分:9)

尝试共享滚动条的模型。类似的东西:

JScrollPane scrollPane1 = new JScrollPane(...);
JScrollPane scrollPane2 = new JScrollPane(...);
BoundedRangeModel model scrollPane1.getVerticalScrollBar().getModel();
scrollPane2.getVerticalScrollBar().setModel( model );

答案 1 :(得分:0)

获取滚动窗格的滚动条(getHorizontalScrollBar()getVerticalScrollBar())。然后从这些中捕获事件。发生事件时,使用getViewport()(来自setViewPosition())修改与滚动窗格关联的视口(getViewPosition())。