KeyListener - Java (240783)

Узнай цену своей работы

Формулировка задачи:

Изучал я яву, читал темы на хабре, все шло хорошо до момента с KeyListener, в моменте считывания нажатой клавиши, говорит мол не знает класса keyPressed, библиотеки вроде все есть, в яве новый, прошу не бить сильно, до явы учил только C++
Листинг программы
  1. import java.awt.Graphics;
  2. import java.awt.Image;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.event.KeyAdapter;
  6. import java.awt.event.KeyEvent;
  7. import java.awt.event.KeyListener;
  8. import javax.swing.ImageIcon;
  9. import javax.swing.JFrame;
  10. import javax.swing.JPanel;
  11. import javax.swing.Timer;
  12. public class Main extends JPanel implements ActionListener {
  13. Image img = new ImageIcon("2.png").getImage();
  14. Timer timer = new Timer(20, this);
  15. JFrame frame;
  16. public Main(JFrame frame) {
  17. this.frame = frame;
  18. frame.addKeyListener(new KeyAdapter() {
  19. @Override
  20. public void keyPressed(KeyEvent e) {
  21. // TODO Auto-generated method stub
  22. player.keyPressed(e);
  23. }
  24. @Override
  25. public void keyReleased(KeyEvent e) {
  26. // TODO Auto-generated method stub
  27. player.keyReleased(e);
  28. }
  29. });
  30. }
  31. public void paint(Graphics g) {
  32. g.drawImage(img, player.getMapX(), player.getMapY(), frame.getWidth(), frame.getHeight(), null);
  33. }
  34. @Override
  35. public void actionPerformed(ActionEvent e) {
  36. // TODO Auto-generated method stub
  37. repaint();
  38. player.move();
  39. }
  40. Player player = new Player();
  41. }

Решение задачи: «KeyListener»

textual
Листинг программы
  1. package kurshach;
  2. import java.awt.event.KeyEvent;
  3. public class Player {
  4.  
  5.     private int x = 0;
  6.     private int y = 0;
  7.     private int speed = 2;
  8.     public int mapX = 0;
  9.     public int mapY = 0;
  10.  
  11.     public void keyReleased(KeyEvent e) {
  12.         System.out.println(e.getKeyCode());
  13.     }
  14.  
  15.     public int getX() {
  16.         return x;
  17.     }
  18.  
  19.     public int getY() {
  20.         return y;
  21.     }
  22.  
  23.     public int getSpeed() {
  24.         return speed;
  25.     }
  26.  
  27.     public void move() {
  28.         x -= speed;
  29.         mapX += speed;
  30.     }
  31.  
  32.     public int getMapX() {
  33.         return mapX;
  34.     }
  35.  
  36.     public int getMapY() {
  37.         return mapY;
  38.     }
  39.  
  40. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут