¿Hay alguna razón por la cual en LWUIT un botón puede tener su propio ActionListener (a través de button.addActionListener) mientras que un comando no lo tiene?¿Por qué los botones tienen oyentes de acción y los comandos no lo hacen en LWUIT?
¿La única forma de tener un escucha para un comando específico es agregar un ActionListener a un formulario y verificar el oyente para el comando del que proviene el evento como a continuación?
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();
}
Ya veo. Tiene sentido ahora ... (en lugar de ser molesto). Gracias por la respuesta detallada! –
El comando es un oyente de acción (puede crear una subclase y escribir el código en su método actionPerformed. Así que agregar un oyente de acción a un oyente de acción parecía una indirección algo confusa. Por eso no lo hicimos (coautor original) de LWUIT) –