Не работает обработчик нажатия клавиш - Java

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

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

Собственно сам обработчик
Листинг программы
  1. public void keyPressed(KeyEvent e) {
  2. switch (e.getKeyCode())
  3. {
  4. case KeyEvent.VK_ESCAPE:
  5. System.out.print("dsfgdfg");
  6. System.exit(0);
  7. break;
  8. default:
  9. }
  10. }
А это находится в конструкторе формы
Листинг программы
  1. addKeyListener(this);
Класс имплементит обработчик. Хочу заметить, что мышка обрабатывается без проблем. Что я делаю не так, спасибо)

Решение задачи: «Не работает обработчик нажатия клавиш»

textual
Листинг программы
  1. public class Screenshot extends JPanel implements MouseListener, MouseMotionListener, KeyListener {
  2.     static int x = 50;
  3.  
  4.     @Override
  5.     public void keyTyped(KeyEvent e) {
  6.        
  7.     }
  8.  
  9.     @Override
  10.     public void keyPressed(KeyEvent e) {
  11.          switch (e.getKeyCode())
  12.        {
  13.         case KeyEvent.VK_ESCAPE:
  14.                System.out.print("dsfgdfg");
  15.                System.exit(0);
  16.                break;
  17.                
  18.            default:
  19.        }
  20.     }
  21.  
  22.  public static BufferedImage image;
  23.     public Screenshot()
  24.     {
  25.         JFrame frame = new JFrame();
  26.         Dimension sSize = Toolkit.getDefaultToolkit ().getScreenSize ();
  27.         int Height = sSize.height;
  28.         int Width  = sSize.width;
  29.         frame.setExtendedState(MAXIMIZED_BOTH);
  30.         frame.setUndecorated(true);
  31.         addMouseListener(this);
  32.         addMouseMotionListener(this);
  33.         addKeyListener(this);
  34.         getScreen(Width,Height);
  35.        // frame.setContentPane();
  36.         frame.getContentPane().add(this);
  37.         frame.pack();
  38.         frame.setVisible(true);
  39.     }
  40.    
  41.     @Override
  42.     protected void paintComponent(Graphics g)
  43.     {
  44.         super.paintComponent(g);
  45.         g.drawImage(image,0,0, null);
  46.         g.setColor(Color.red);
  47.         g.drawRect(coords,40,12,456);
  48.     }
  49.        
  50.     private  void getScreen(int x, int y)
  51.     {
  52.         GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
  53.         GraphicsDevice screen=env.getDefaultScreenDevice();
  54.         Robot robot = null;
  55.         try {
  56.             robot=new Robot(screen);
  57.         } catch (AWTException ex) {
  58.         }
  59.         image = robot.createScreenCapture(new Rectangle(0,0,x,y));
  60.         if (image==null) System.exit(0);
  61.     }
  62.    
  63.     public static void main(String[] arg) throws InterruptedException
  64.     {
  65.         Screenshot frame = new Screenshot();
  66.        Thread.sleep(6000);
  67.          x = 150;
  68.         frame.repaint();
  69.     }
  70.    
  71.     @Override
  72.     public void mouseClicked(MouseEvent e) {
  73.            
  74.             x = 50;
  75.             repaint();
  76.         }
  77.  
  78.         @Override
  79.         public void mousePressed(MouseEvent e) {
  80.             //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  81.         }
  82.  
  83.         @Override
  84.         public void mouseReleased(MouseEvent e) {
  85.             //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  86.         }
  87.  
  88.         @Override
  89.         public void mouseEntered(MouseEvent e) {
  90.            // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  91.         }
  92.  
  93.         @Override
  94.         public void mouseExited(MouseEvent e) {
  95.             //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  96.         }
  97.  
  98.     @Override
  99.     public void mouseDragged(MouseEvent e) {
  100.         //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  101.     }
  102.  
  103.     @Override
  104.     public void mouseMoved(MouseEvent e) {
  105.         //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  106.            
  107.     }
  108.    
  109. }

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


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

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

14   голосов , оценка 3.786 из 5

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

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

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