Передача событий мыши и клавиатуры детям JSplitPane
У меня есть рабочий расширенный класс JPanel, который обрабатывает все события мыши и клавиатуры. Я поместил эту панель в JSplitPane с другой JPanel. Теперь ни одно из моих событий с мышью и клавиатурой не происходит в моей оригинальной JPanel.
Моя теория заключается в том, что JPSplitPane теперь принимает события. Есть ли способ легко сделать так, чтобы эти события передавались моей JPanel, как и раньше?
1 ответ
После моих исследований я обнаружил, что события мыши обрабатываются первым возможным MouseListener (в данном случае JSplitPane), поэтому все, что мне нужно было сделать, это...
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftColumn, analyzerPanel);
splitPane.addMouseListener(analyzerPanel);
splitPane.addMouseMotionListener(analyzerPanel);
splitPane.addMouseWheelListener(analyzerPanel);
splitPane.addKeyListener(analyzerPanel);