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 FormAber 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) {}
}
War es hilfreich?

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
scroll top