Wie erkenne ich eine Taste gedrücktes Ereignis in LWUit -Form?
-
27-10-2019 - |
Frage
Ich habe ein einfaches J2ME -Programm mit LWUIT -Paket geschrieben. Ich habe einen hinzugefügt Form
In meiner MIDLET -Klassendatei. Nehmen wir an, der Benutzer drücken Sie eine Taste, dann möchte ich eine andere anzeigen Form
Aber ich konnte nicht in der Lage sein, ein Schlüsselereignis in meinem LWUit zu erfassen Form
.
Dies ist mein Code Snippt
import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.events.*;
public class MultipleForm extends MIDlet implements ActionListener{
private Form mFirstForm, mSecondForm;
public void startApp()
{
if (mFirstForm == null)
{
Display.init(this);
mFirstForm = new Form("First Form");
Button button = new Button("Switch");
button.addActionListener(this);
mFirstForm.addComponent(button);
mSecondForm = new Form("Second Form");
Button button2 = new Button("Switch");
button2.addActionListener(this);
mSecondForm.addComponent(button2);
mFirstForm.show();
}
}
protected void keyPressed(int key)
{
System.out.println("Key Pressed");
if(key==52)
{
Form current = Display.getInstance().getCurrent();
if (current == mFirstForm)
{
mSecondForm.show();
}
else if(current==mSecondForm)
{
mFirstForm.show();
}
}
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
Lösung
Um den Ereignisschlüssel in einem LWUit zu erfassen Form
Sie müssen verwenden Form.addGameKeyListener(here the key, here actionListener)
Die Tasten werden mit Verwendung zugeordnet Canvas
wie Canvas.FIRE
zum Beispiel.
Versuche das zu tun.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow