问题
I have a requirement of having N number of tables arranged in a grid pane side by side provided height of the scrollpanes of all the jtables remains same. Now i want to synchronize scroll of all the jtables means if i scroll the first jtable then rest of the jtables should scroll automatically by the same amount.
Anyone has any idea about this ?
回答1:
Try sharing the model of the scrollbar. Something like:
JScrollPane scrollPane1 = new JScrollPane(...);
JScrollPane scrollPane2 = new JScrollPane(...);
BoundedRangeModel model scrollPane1.getVerticalScrollBar().getModel();
scrollPane2.getVerticalScrollBar().setModel( model );
回答2:
Get the scrollbars of your scrollpanes (getHorizontalScrollBar()
or getVerticalScrollBar()
). Then catch events from these. When an event occurs, modify the viewports (getViewport()
) associated to the scrollpanes with setViewPosition()
(from getViewPosition()
).
来源:https://stackoverflow.com/questions/18363994/synchronize-scrolling-of-n-number-of-jtables-in-java-swing