Question

Je l'ai écrit programme J2ME simple avec LWUIT package.I ont ajouté un Form dans mon dossier de classe MIDlet. Supposons, appuyez sur une touche utilisateur alors je veux montrer une autre Form.But je ne pouvais pas être en mesure de capturer l'événement clé dans mon LWUIT Form.

Ceci est mon 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) {}
}
Était-ce utile?

La solution

Pour saisir la clé de l'événement dans un Form de LWUIT vous devez utiliser Form.addGameKeyListener(here the key, here actionListener)

Les touches sont mises en correspondance en utilisant Canvas comme Canvas.FIRE par exemple.

Essayez de le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top