У меня проблема с моим кодом при нажатии на стрелку вверх или вниз ничего не происходит. Вот мой код и извините за мой английский. Это часть для Racket 1, часть для Racket 2 id аналогична.KeyListener для JLabel не работает для меня
//--->Racket 1 :
Racket1.addKeyListener(this);
Racket1.setBounds(50, 200, 16, 100); //<----- setBounds (Placer position du JLabel x,y + taille de la plateforme x,y)
Racket1.setBackground(Color.white);
Racket1.setOpaque(true);
Racket1.setFocusable(true); //<----- Permet d'utiliser KeyListener Pour un JLabel
Racket1.requestFocus();
И это часть KeyListener:
public void keyTyped (KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
Racket1.setLocation(Racket1.getX(), Racket1.getY() +20);
}
else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
Racket1.setLocation(Racket1.getX(), Racket1.getY() -20);
}
else if (e.getKeyCode() == 'z') {
Racket2.setLocation(Racket2.getX(), Racket2.getY() +20);
}
else if (e.getKeyCode() == 's') {
Racket2.setLocation(Racket2.getX(), Racket2.getY() -20);
}
}
public void keyReleased(KeyEvent e) {
Что делают ракеты? – rath
Возможно, вы захотите немного подробнее узнать о поведении и о том, что вы пробовали. Вы проверили, действительно ли вызван метод keyPressed()? – macserv
Ракетки, как предполагается, движутся, есть две ракеты игры в понг – Silver