Java ME, Low-Level UI und Auswertung von Key-Events

Bei meinem Vorhaben benutze ich javax.microedition.lcdui.game.GameCanvas, um einen Zeiger in der Graphic mit den Kursortasten zu steuern. Die Key-Events für GAME_A … GAME_D kann ich ebenfalls auswerten. Wie aber kann ich die KEY_NUM# - Events auswerten oder weitere Aktionen über eine Menüauswahl steuern? Geht das nur bei einem High-Level UI?

Genauso wie auch die GAME_EVENTS. In den keyPressed, keyReleased und keyRepeated sollten auch bei einem GameCanvas (erbt ja von Canvas) die Events geworfen werden.

Ein “Menü” kannst du über “addCommand” hinzufügen. GameCanvas erbt von Canvas und Canvas von Displayable, welches diese Methode implementiert.

Danke Null. Bin gerade dabei, mich in die Class Canvas sowie Class GameCanvas tiefer einzuarbeiten. Werd dazu etwas experimentieren müssen.

Ich will bei dem kleinen Bildschirm der Anwendung (QVGA) möglichst wenig Fläche mit Sensorzeile und Command-Zeile verbrauchen und deshalb mit setFullScreenMode(true) arbeiten. Hab mir so gedacht, kleine farbige Sensorflächen anzulegen ( g.fillRect(x, y, w, h) ) und mit dem Zeiger anzufahren. Einen Zeiger brauche ich ohnehin, um Punkte in der Graphik zu setzen und Koordinaten abzugreifen. Beim Zeigen auf die Fläche kann dann z.B. temporär ein Hinweistext ausgegeben oder ein größeres Menü dargestellt werden, das mittels Key-Events bedient wird, im einfachsten Fall mit OK/FIRE. Experimentiert hab ich schon damit über den Handyemulator, es scheint ein brauchbarer Weg. Hinweise auf andere Lösungsansätze sind aber auch gern willkommen.

Uff … mit Touchscreen-Handys hab ich bis jetzt noch nicht gearbeitet. Ich hoff mal dir ist erstmal geholfen :wink: .

Hallo Null, ich habe ein „normales“ Handy Sony Ericsson PF8, nicht ein Touchscreen. Mein Zeiger ist ein kleines Dreieck in der Graphik ( g.drawLine() ), dessen xy-Koordinaten ich mit den Kursortasten steuere. So kann ich auswerten, wenn der Zeiger einen vorbestimmten Bereich erreicht und damit ein „Zeiger-Event“ generieren. Zugegeben, ein ungewöhnlicher Weg, ein Menü aufzubauen, aber Methoden für den Aufbau einer Combobox hab ich in Java ME nicht gefunden.

Hehe, den Ansatz habe ich auch mal verfolgt - dachte aber bis jetzt ich bin der einzige Querdenker :smiley: .