# Form aus GameCanvas aufrufen



## badmaxx (6. Apr 2010)

Hallo,

ich habe dieses Menü

jetzt möchte ich das wenn ich z.b. option 3 auswähle ein Form mit einer Textbox o. Ä. aufgeht.

Aufruf hinter dem Listener und Form erstellen is kein problem aber egal wie ich versuche die Form aufzurufen ich bekomme immer diese Fehlermeldung


```
TRACE: <at java.lang.IllegalArgumentException>, Exception caught in Display class
java.lang.IllegalArgumentException
```

Kann mir jemand sagen wie ich aus dem GameCanvas heraus eine Form öffnen kann?

Gruß


----------



## The_S (6. Apr 2010)

Wie versuchst du es denn? Normalerweiße einfach dem Display die Form via setCurrent übergeben.


----------



## badmaxx (6. Apr 2010)

eigentlich ja aber welches display muss ich nehmen?

Ich hab versucht Display mit getter aus Der Midletklasse holen und dann mit set current dazustellen,
Ich hab versucht das ganze dann auch irgendwie mit nem Setter in der Midletklasse zu setzen was auch nicht geht.

steh grad ziemlich auf der leitung!


----------



## The_S (6. Apr 2010)

Es gibt nur ein Display


```
Display.getDisplay(DeinMidlet);
```
 oder so ähnlich


----------



## badmaxx (6. Apr 2010)

danke schonmal klingt zumindest schonmal gut!

Jetz kieg ich allerdings bei starten die Fehlermeldung:

*** Error ***
A problem occured during invoking Java ME Service
Reason:
Suite has already an ODT command attached.


kann des davon kommen oder hab ich an ner anderen stelle was verändert und mir fällts blos grad ncih mehr ein?


----------



## The_S (6. Apr 2010)

Davon kann das nicht kommen


----------



## badmaxx (6. Apr 2010)

ok ide geschlossen und wieder aufgemacht jetz gings.

allerdings krieg ich jetz die tolle fehlermeldung wenn ich versuch die form zu öffnen.

TRACE: <at java.lang.SecurityException: MIDlet not constructed by createMIDlet.>, Exception caught in Display class
java.lang.SecurityException: MIDlet not constructed by createMIDlet.
 - com.sun.midp.midlet.MIDletStateHandler.newMIDletPeer(), bci=24
 - javax.microedition.midlet.MIDlet.<init>(), bci=9
 - StaplerME.Stapleroberflaeche.<init>(), bci=1
 - StaplerME.SessionEinstellungen.drawSessionFrom(), bci=4
 - StaplerME.GUI.pointerPressed(), bci=877
 - javax.microedition.lcdui.CanvasLFImpl.uCallPointerPressed(), bci=12
 - javax.microedition.lcdui.DisplayableLFImpl.uCallPointerEvent(), bci=119
 - javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handlePointerEvent(), bci=72
 - com.sun.midp.lcdui.DisplayEventListener.process(), bci=296
 - com.sun.midp.events.EventQueue.run(), bci=179
 - java.lang.Thread.run(), bci=11

ich bin in der j2me programmierung noch nich so ganz drin und versteh blos bahnhof


----------



## The_S (6. Apr 2010)

Dann poste doch mal Code.


----------



## badmaxx (6. Apr 2010)

ok hat sich erledigt.

Hatte 1. des falsche midlet übergeben(bzw. neues objekt der midletklasse erstellt und übergeben*schäm*)
und 2. als ich das dann geändert hatte noch nen fehler beim aufruf der testkomponente.

Danke an die hervorragende Hilfe.

Bin irgendwie in letzter zeit bissl neben mir brauch dringen mal wieder urlaub.


----------

