Как дочерний класс использует KeyBindings своего родителя?JAVA

Программисты JAVA общаются здесь
Anonymous
Как дочерний класс использует KeyBindings своего родителя?

Сообщение Anonymous »

У меня возникли проблемы с привязкой клавиш для расширяющегося класса. Я определил привязки для родительского класса, который реагирует так, как и ожидалось, но дочерний класс, похоже, никогда не обнаруживает нажатия клавиш.
Родительский класс был протестирован сам по себе, он реагирует к ключевым событиям, как и ожидалось.

Код: Выделить всё

class GeneralPanel extends JPanel implements MouseListener {
public GeneralPanel(){
getInputMap().put(KeyStroke.getKeyStroke("S"), "doSomething");
getActionMap().put("doSomething",
new DoSomethingAction());
}
// other stuff, including mouseMoved and the like, and paintComponent
}
Поэтому, когда я нажимаю S, он вызывает указанную функцию.
Теперь мне нужно расширить этот класс до конкретной панели, которая фактически отображает данные< /p>

Код: Выделить всё

class SpecificPanel extends GeneralPanel implements MouseListener{
// other stuff, including mouseMoved and the like, and paintComponent
}
Этот класс никогда не реагирует ни на одну из клавиш, указанных в родительском классе.

Подробнее здесь: https://stackoverflow.com/questions/790 ... its-parent

Вернуться в «JAVA»