ActionListener не получает событие actionperformed, когда я нажимаю кнопки выбора или стрелки - PullRequest
0 голосов
/ 27 января 2012

Я не могу понять, почему он не получает событие действия. Я нажимаю стрелки и выбираю кнопку, и все равно ничего не выводится на консоль.

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) {

}
}

Ответы [ 2 ]

1 голос
/ 28 января 2012

Вы забыли поставить keyListener на Form. Вы должны поместить этот addKeyListener / addGameKeyListener присоединенный к Form. Это должно работать.

0 голосов
/ 30 декабря 2013

Хорошо: я постараюсь сохранить это 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.lwuit.events.ActionListener)

Интересно, что метод addCommandListener () реализован вместо того, где обычно используется addActionListener () в случае приложений Swing.

...