0
我在三個不同的jscrollpane上有三個不同的jtable - 一個緊挨着另一個。
我成功地編寫了一些代碼,當我滾動鼠標滾輪時,它們都會一起滾動。
我inherrited JScrollPane中並重寫其processMouseWheelEvent methos如下:同時在三個JTable上移動/滾動。
public void processMouseWheelEvent(MouseWheelEvent e) {
...
if (e.getSource() == this) {
for (BTSJScrollPane other : effected) {
other.processMouseWheelEvent(e);
}
}
}
我已經canelled的頁上一頁下一頁使用
final InputMap inputMap =
comp.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
inputMap.put(KeyStroke.getKeyStroke("PAGE_DOWN"), EMPTY);
inputMap.put(KeyStroke.getKeyStroke("PAGE_UP"), EMPTY);
comp.getActionMap().put(EMPTY, emptyAction);
但是,
現在我唯一的問題是,當用戶點擊起來下來,他們不一起走,而是滾動顯示。
有什麼建議嗎?
1.有沒有更好的辦法:
到目前爲止,我在滾動窗格像
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
@Override public boolean dispatchKeyEvent(KeyEvent e) {
if (thisIsThesourceTable) {
if (e.getKeyCode() == 38 || e.getKeyCode() == 40) {
}
}
return false;
}
});
但寫的嗎?
2.也許我應該在actionMap中做些什麼?
3.如何將鍵向上/向下事件傳遞給其他滾動窗格?
4.我可以知道我是否接近滾動窗格中的查看部分的末尾嗎?是否需要
哇。一個。如果我能給你更多的意見,我會的。灣現在我已經用這一行刪除了很多代碼。 C。我現在不需要回答否。 4 .. d。非常感謝。 – Jeb 2012-04-23 15:35:16
很高興回饋給那些多年來幫助過我的社區。 – Jim 2012-04-23 15:49:04