Anfängerfrage : Form und CommandListener - Warum geht das nicht?

Status
Nicht offen für weitere Antworten.

xip

Bekanntes Mitglied
Hallo,

ich habe gerade versucht das Display auf eine neue Form zu setzten. Dabei stellte sich herraus das eine Exception geworfen wird, sobald ich einen Command in der neuen Form ausführe.

Java:
package hello;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet implements CommandListener {

    private Command exitCommand; // The exit command
    private Command neu; // The exit comman
    private Display display;     // The display for this MIDlet

    public HelloMIDlet() {
        display = Display.getDisplay(this);
        exitCommand = new Command("Exit", Command.EXIT, 0);
        neu = new Command("Neu", Command.OK, 0);

    }

    public void startApp() {
        TextBox t = new TextBox("Hello", "Hello, World!", 256, 0);

        t.addCommand(exitCommand);
        t.addCommand(neu);
        t.setCommandListener(this);

        display.setCurrent(t);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable s) {
        if (c == exitCommand) {
            destroyApp(false);
            notifyDestroyed();
        }
        if (c == neu) {
            display.setCurrent(new Fenster(this));
        }
    }

}

class Fenster extends Form implements CommandListener
{
    private Command go; // The exit comman

    public Fenster (HelloMIDlet midlet)
    {
        super("Fenster");
        go = new Command("Go", Command.OK, 0);
        this.addCommand(go);
    }

    public void commandAction(Command c, Displayable d) {

    }
}

habt ihr da eine Idee warum das so nicht hinhaut?

dank euch.

lg
 

xip

Bekanntes Mitglied
die Exception wird in der commandAction() geworfen.

Hier die Exception:

TRACE: <at java.lang.NullPointerException: 0>, Exception caught in Display class
java.lang.NullPointerException: 0
- javax.microedition.lcdui.Display$ChameleonTunnel.callScreenListener(), bci=46
- com.sun.midp.chameleon.layers.SoftButtonLayer.processCommand(), bci=74
- com.sun.midp.chameleon.layers.SoftButtonLayer.soft1(), bci=37
- com.sun.midp.chameleon.layers.SoftButtonLayer.keyInput(), bci=36
- com.sun.midp.chameleon.CWindow.keyInput(), bci=38
- javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleKeyEvent(), bci=17
- com.sun.midp.lcdui.DisplayEventListener.process(), bci=277
- com.sun.midp.events.EventQueue.run(), bci=179
- java.lang.Thread.run(), bci=11
javacall_lifecycle_state_changed() lifecycle: event is JAVACALL_LIFECYCLE_MIDLET_SHUTDOWNstatus is JAVACALL_OK
bdj-run:
cdc-run:
profiler.check:
open-profiler:
run:
BUILD SUCCESSFUL (total time: 16 seconds)
 

xip

Bekanntes Mitglied
ich habe keinen Debugger an meine SDK 3.0 rangehängt.

Mir kommt das nur ein bischen spanisch von das das mit den 2 CommandListener nicht funktioniert.
 

xip

Bekanntes Mitglied
oh verdammt!!!!

Ich weis was fehlt:

this.setCommandListener()

Oh man, sorry, kurzer senieler Aussetzer!!!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben