C'è qualche motivo per cui in LWUIT un pulsante può avere il proprio ActionListener (tramite button.addActionListener) mentre un comando non lo fa?Perché i pulsanti hanno listener di azioni e comandi non in LWUIT?
È l'unico modo per avere un listener per un comando specifico è aggiungere un ActionListener a un modulo e controllare l'ascoltatore per il quale comando è venuto l'evento come di seguito?
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();
}
Vedo. Ha senso ora ... (invece di essere solo fastidioso). Grazie per la risposta dettagliata! –
Il Comando è un listener di azioni (puoi creare una sottoclasse e scrivere il codice nel suo metodo actionPerformed.Per aggiungere un listener di azioni a un listener di azioni sembra un'indirizzamento un po 'confuso.Ecco perché non l'abbiamo fatto (coautore originale di LWUIT) –