Keresés

Új hozzászólás Aktív témák

  • Oppenheimer

    nagyúr

    válasz Karma #4540 üzenetére

    Sajnos így nem tudom megcsinálni, mert kb az alapjaitól újra kéne írnom mindent, és két nap nem elég rá.

    Most elkezdtem úgy, hogy a bal oldali panelre ismeri a középsőt, és a középső is a bal oldalit. Hozzáadtam a bal oldalihoz egy pause/resume gombot. A gomb ActionListenere azt csinálja, hogy fut a játék és rákattintanak, akkor átírja a gomb szövegét pauseról resumra és a középső panel Paused változóját true-ra állítja. Ezt megcsináltam, de most ha lenyomom a spacet, hogy lőjek, egyből dob egy exceptiont a program és leáll. Lehet azzal van baja, hogy külön ActionListener van az űrhajónak és annak a gombnak? Hmmm nem hiszem. De akkor mitől lehet?

    szerk: itt az excpetion:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Game.LeftPanel.actionPerformed(LeftPanel.java:30)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(Unknown Source)
    at javax.swing.SwingUtilities.notifyAction(Unknown Source)
    at javax.swing.JComponent.processKeyBinding(Unknown Source)
    at javax.swing.JComponent.processKeyBindings(Unknown Source)
    at javax.swing.JComponent.processKeyEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$400(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Ezen a helyen jön elő:
    public void actionPerformed(ActionEvent ae) {
    if (gameArea.isPaused()) { // itt dobódik a kivétel
    pause.setText("Resume");
    gameArea.setPaused(false);
    }

    else {
    pause.setText("Pause");
    gameArea.setPaused(true);
    }
    }

Új hozzászólás Aktív témák