Могу ли я добавить прослушиватель ключей к графическим фигурам в java AWT ?
Мой пользовательский интерфейс состоит из 8 округлых прямоугольных фигур, и каждая фигура, выбранная навигационными кнопками клавиатуры (вверх и вниз), должна отображать отдельную рамку.
Когда я попытался добавить ключевой слушатель к фигурам..
((Component)homeShape).addKeyListener(new KeyListener(){ @Override public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) {} @Override public void keyReleased(KeyEvent e) {}});
1. форма должна быть типизирована для компонента.
2. Это утомительная работа, чтобы добавить keyListener к "Н" количество форм в пользовательском интерфейсе.
Что я уже пробовал:
Я использовал прослушиватель мыши, и он отлично работал.
@Override public void mouseClicked(MouseEvent e) { if ((e.getButton() == 1) && homeShape.contains(e.getX(),e.getY()) ) { System.out.println("homebutton clicked"); //code that displays new frame in the screen } }
Прослушиватель мыши обнаружил фигуру, щелкнувшую с границами (например, getX () и e.getY ()).
Но сейчас я хочу сделать это с помощью клавиатуры, просто с помощью кнопок со стрелками вверх,вниз,влево,вправо.
1. Как KeyListener определить, какие формы это ориентироваться ?
2. Как я должен использовать KeyListener для навигации по фигурам ?