У меня есть JPanel
, который содержит несколько других объектов, которые делают вещи.Я упросту пример, говоря о каком-то объекте круга (определенном классом окружности, который я создал) и квадратном объекте (аналогично).
круг случайно перемещается по экрану, а квадрат сидит на своем месте.Я собираюсь переместить квадрат с помощью кнопок со стрелками.текущий дизайн должен иметь поток с циклом while, который содержит задержку, которая устанавливает «частоту обновления» внутри своего метода run.
Я пытаюсь всеми известными мне способами захватывать клавиши со стрелками и перемещать квадрат вокруг, пока шарик бегает вокруг экрана.
как мне зафиксировать нажатия клавиш (например, стрелки), чтобы я мог знать, куда перемещать свой квадрат?Я попытался реализовать keylistener
в jpanel
, но это не сработало.когда я пытался использовать KeyEvent
в бегах, я получил исключение.
пожалуйста, спасите меня.:)
РЕДАКТИРОВАТЬ:
Спасибо за эту информацию.Я хотел бы получить дополнительную помощь для решения этой проблемы -
Допустим, у меня есть следующий код:
this.getInputMap().put(KeyStroke.getKeyStroke("UP"), "actionName");
this.getInputMap().put(KeyStroke.getKeyStroke("DOWN"), "actionName");
this.getActionMap().put("actionName",
new AbstractAction("actionName") {
public void actionPerformed(ActionEvent evt) {
//dostuff
}
}
);
Как мне различать нажатия UP и DOWN?что мне нужно изменить?
Спасибо!Я немного новичок, я знаю:)