在JavaSwing中同步滚动N个jtables

在JavaSwing中同步滚动N个jtables,java,swing,jtable,jscrollpane,jscrollbar,Java,Swing,Jtable,Jscrollpane,Jscrollbar,我要求在网格窗格中并排排列N个表,前提是所有jtables的滚动窗格高度保持不变。现在我想同步所有jtables的滚动,这意味着如果我滚动第一个jtables,那么其余的jtables应该自动滚动相同的数量 有人知道吗?获取滚动窗格的滚动条(getHorizontalScrollBar()或getVerticalScrollBar())。然后从中捕捉事件。发生事件时,使用setViewPosition()(从getViewPosition())修改与滚动窗格关联的视口(getViewport()

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


有人知道吗?

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

尝试共享滚动条的模型。比如:

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

谢谢@camickr。。代码非常有用CAMICKR-如何在共享模型后取消共享所有n个表的模型。实际上,我的屏幕上有一个同步复选框。单击复选框我必须同步n个表,取消选中复选框我必须取消共享所有n个表的模型。这是我的问题。你对此有什么想法吗?创建一个新的BoundedRangeModel并将其添加到滚动条。camickr-BoundedRangeModel是一个界面。如何创建BoundedRangeModel的对象并将其添加到scrollbar中?阅读API并找到实现该接口的类。所有模型都有一个默认实现。