Обработка действий клавиатуры - Java
Формулировка задачи:
Можете написать несколько строк кода, которые реагируют на нажатие клавиш? Напишу на русском, т.к. не совсем понимаю:
public void keyPressed{
если нажали на кнопку "вверх" переменная х=1;
если нажали на кнопку "вниз" переменная х=-1;
если нажали на кнопку "вправо" переменная у=1;
если нажали на кнопку "влево" переменная у=-1;
}
Помогите пожалуйста реализовать
Решение задачи: «Обработка действий клавиатуры»
textual
Листинг программы
public class MyFrame extends JFrame {
public MyFrame(String Cap) {
super(Cap);
setSize(new Dimension(500, 500));
setVisible(true);
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent evt) {
switch (evt.getKeyCode()) {
case KeyEvent.VK_UP:
y -= 1;
DrawRect();
break;
case KeyEvent.VK_DOWN:
y += 1;
DrawRect();
break;
case KeyEvent.VK_LEFT:
x -= 1;
DrawRect();
break;
case KeyEvent.VK_RIGHT:
x += 1;
DrawRect();
break;
}
}
});
}
@Override
public void paint(Graphics g){
g.setColor(Color.WHITE);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.BLACK);
g.drawRect(x, y, 100, 100);
}
public void DrawRect() {
this.repaint();
this.getGraphics().drawRect(x, y, 100, 100);
}
private int x, y;
}