我要求在網格窗格中並排排列N個表格,並且所有jtables的scrollpanes的高度保持不變。現在我想同步所有jtable的滾動,意思是如果我滾動第一個jtable,那麼剩下的jtables應該自動滾動相同的數量。在java swing中同步滾動N個jtables
任何人都有這個想法嗎?
我要求在網格窗格中並排排列N個表格,並且所有jtables的scrollpanes的高度保持不變。現在我想同步所有jtable的滾動,意思是如果我滾動第一個jtable,那麼剩下的jtables應該自動滾動相同的數量。在java swing中同步滾動N個jtables
任何人都有這個想法嗎?
請嘗試分享滾動條的模型。喜歡的東西:
JScrollPane scrollPane1 = new JScrollPane(...);
JScrollPane scrollPane2 = new JScrollPane(...);
BoundedRangeModel model scrollPane1.getVerticalScrollBar().getModel();
scrollPane2.getVerticalScrollBar().setModel(model);
獲取您的滾動條的滾動條(getHorizontalScrollBar()
或getVerticalScrollBar()
)。然後從這些捕捉事件。發生事件時,使用setViewPosition()
(從getViewPosition()
)修改與滾動窗格關聯的視口(getViewport()
)。
感謝@camickr ..代碼是非常有用的 –
camickr - 如何停止共享共享後,所有n表模型的模型。其實我在屏幕上有1個同步複選框。點擊複選框,我必須同步n個表格,然後取消勾選複選框,我必須取消共享所有n個表格的模型。那是我的問題。你有什麼想法嗎? –
創建並向滾動條添加一個新的BoundedRangeModel。 – camickr