0

I have two jLabels. When a button is pressed, it would set the icon to the JLabel and disable it. So when a second button is pressed, it would check if the first jLabel is disabled and set the icon for the next jLabel. Here's my code for one button(it's the same for the rest of the buttons):

private void choice1ActionPerformed(java.awt.event.ActionEvent evt) {
choice1.setEnabled(false);
    if(letter1.isEnabled()) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter1.setIcon(ima);
    }
    if(letter1.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter2.setIcon(ima);
    }
    if(letter2.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter3.setIcon(ima);
    }
    if(letter3.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter4.setIcon(ima);
    }
    if(letter4.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter5.setIcon(ima);
    }
    if(letter5.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter6.setIcon(ima);
    }
    if(letter6.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter7.setIcon(ima);
    }
    if(letter7.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter8.setIcon(ima);
    }
    if(letter8.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter9.setIcon(ima);
    }
    if(letter9.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter10.setIcon(ima);
    }
    if(letter10.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter11.setIcon(ima);
    }
    if(letter11.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter12.setIcon(ima);
}
    if(letter12.isEnabled()==false) {
        Icon ima = new ImageIcon(this.getClass().getResource("/replaceletter/lettera2"));
        letter13.setIcon(ima);
    }
}

There is an exception (NullPointerException). And it is unable to set the icon for the jLabel. I don't know what I'm doing wrong. Any suggestions would be very much appreciated.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at Game.GeneticsWord3.choice1ActionPerformed(GeneticsWord3.java:440)
at Game.GeneticsWord3.access$1200(GeneticsWord3.java:13)
at Game.GeneticsWord3$13.actionPerformed(GeneticsWord3.java:244)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at Game.GeneticsWord3.choice1ActionPerformed(GeneticsWord3.java:440)    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Jane Doe
  • 1
  • 2

0 Answers0