0

i keep getting a Exception in thread "AWT_Event-Queue-0" NullPointerException. Can someone please help me. I am trying to make an image move while pressing keys. ANy help will be greatly appreciated

    import java.awt.Color;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.Image;
    import javax.swing.*;
    
    
    class MyFrame extends JFrame implements KeyListener {
        JLabel label;
        ImageIcon icon;
        int x;
        int y;
        MyFrame(){ 
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         addKeyListener(this);
         ImageIcon imageIcon = new ImageIcon("C:\\Users\\jacob\\Downloads\\player.png");
         
         Image image = imageIcon.getImage();
         Image newimg = image.getScaledInstance(150, 150,  java.awt.Image.SCALE_SMOOTH);
         imageIcon = new ImageIcon(newimg);
         JLabel label = new JLabel(imageIcon);
         this.add(label);
         this.setSize(500, 500);
         this.setVisible(true);
     }
        @Override
        public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub
            
        }
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_UP);
                label.setLocation(label.getX(), label.getY()-1);
            
        }
        @Override
        public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub
            
        }
    }
    
  • `label` is defined both as an instance and local field, so when you try to use it in the `KeyListener`, it's `null`. Having said, you might find [something like this](https://stackoverflow.com/questions/30387154/how-to-change-an-image-after-a-keyboard-input-in-java/30387171#30387171) might be a better example – MadProgrammer Sep 27 '21 at 04:50
  • Caution: The `;` at the end of your `if` statement essentially terminates the `if` statement, causing the next line to be executed for every single key which is pressed. – VGR Sep 27 '21 at 05:47
  • how do i fix the label as instance and local – Jacob Ptak Sep 27 '21 at 07:31

0 Answers0