Gibt es einen Grund, warum ein Button in LWUIT seinen eigenen ActionListener (über button.addActionListener) haben kann, während ein Befehl nicht?Warum haben Schaltflächen Aktions-Listener und Befehle nicht in LWUIT?
Ist die einzige Möglichkeit, einen Listener für einen bestimmten Befehl zu haben, einen ActionListener zu einem Formular hinzuzufügen und den Listener zu prüfen, für welchen Befehl das Ereignis wie folgt kam?
public void startApp() {
Display.init(this);
f = new Form("Mixed Record");
exit = new Command("Exit");
start = new Command("Start");
Button button = new Button("Button");
f.addCommand(exit);
f.addCommand(start);
f.addCommand(delete);
f.addComponent(button);
f.addCommandListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
if (ae.getCommand().equals(exit)) {
//Do Exit command code
} else if (ae.getCommand().equals(start)) {
//Do Start command code
}
}
});
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
//Do button code
}
});
f.show();
}
Ich sehe. Es macht jetzt Sinn ... (anstatt nur nervig zu sein). Danke für die ausführliche Antwort! –
Der Befehl ist ein Aktionslistener (Sie können ihn ableiten und den Code in seiner actionPerformed-Methode schreiben. Das Hinzufügen eines Aktionslisteners zu einem Aktionslistener erschien daher als etwas verwirrende Indirektion. Deshalb haben wir es nicht gemacht (ursprünglicher Co-Autor) von LWUIT) –