3 개의 서로 다른 jscrollpane에 3 개의 다른 jtable이 있습니다.
나는 마우스 휠을 스크롤 할 때 모두 함께 스크롤되도록 일부 코드를 작성했습니다.3 개의 JTable을 동시에 움직이거나 위아래로 스크롤합니다.
public void processMouseWheelEvent(MouseWheelEvent e) {
...
if (e.getSource() == this) {
for (BTSJScrollPane other : effected) {
other.processMouseWheelEvent(e);
}
}
}
내가
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);
그러나,
내 유일한 문제는 지금 그 사용자가 클릭 할 때와를 사용하여 PageDown 키 페이지 업을 canelled 한 다음과 같이
나는 그 processMouseWheelEvent에있는 Methos를 JScrollPane의를 inherrited 및 오버라이드 (override) 아래로, 그들은 함께 가지 않고 오히려 indentently 스크롤.
제안 사항이 있으십니까?
1. 더 나은 방법이있다 :
은 지금까지 나는
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
@Override public boolean dispatchKeyEvent(KeyEvent e) {
if (thisIsThesourceTable) {
if (e.getKeyCode() == 38 || e.getKeyCode() == 40) {
}
}
return false;
}
});
그러나처럼 내 스크롤 뭔가 썼다?
2. 액션 맵에서 어떻게 든해야할까요?
3. 키 업/다운 이벤트를 다른 스크롤 패널에 전달하는 방법은 무엇입니까?
4. 스크롤 창에서보기 부분의 끝 부분에 있는지 알 수 있습니까? 필요한가
와우. 에이. 내가 너에게 더 많은 것을 주었다면. 비. 나는이 한 줄로 많은 코드를 삭제했다. 기음. 나는 지금 no에 대답 할 필요가 없다. 4 .. d. 고마워. – Jeb
몇 년 동안 나에게 많은 도움이 된 공동체에 기꺼이 돌아와서 기쁩니다. – Jim