我不明白它为什么没有接收到操作事件。我按下箭头和选择按钮,仍然没有任何输出到控制台。
import com.sun.lwuit.events.*;
public class LWUITAPP extends javax.microedition.midlet.MIDlet implements ActionListener, CommandListener {
Form form = new Form();
form.show();
form.addComponent(list);
list.setModel(model);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void actionPerformed(ActionEvent evt) {
System.out.println ("hii!");
System.out.println(evt.getKeyEvent());
}
public void commandAction(Command c, Displayable d) {
}
}
您忘记将keyListener
放入Form
。您必须将此addKeyListener/addGameKeyListener附加到Form
。这应该行得通。
好吧:我会尽量保持SSCCE。
为了注册事件,您必须添加行。。。
Form form = new Form();
> form.addCommandListener(this)
form.show()
以便通过actionPerformed方法侦听事件。
作为我的证明,看一下LWUIT API上的这个页面。https://lwuit.java.net/javadocs/com/sun/lwuit/Form.html#addCommandListener(com.sun.luit.events.ActionListener)
有趣的是,addCommandListener()方法的实现取代了在Swing应用程序中通常使用addActionLister()的位置。