In un actionListener per un pulsante, vorremmo creare un modulo al volo.CodeNameOne Modulo creato dinamicamente, come "Indietro"
Eg Qualcosa di simile
Button b = new Button("Clickme");
b.setActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Form f = new Form();
Container c = new Container();
...
f.addComponent(c);
f.show();
}
});
che funziona bene ..... ma pulsante "indietro" non funzionerà
Qualcuno sa il modo corretto di attuare una forma dinamica in un ActionListener, o saltando su un modulo predefinito attraverso e ascoltatore di azioni?
Grazie
James
Ciao Shai, grazie per la risposta. Non avendo molta fortuna Ho una lista in una forma. Ogni elemento dell'elenco ha un pulsante, quel pulsante ha un actionListener che genera un modulo al volo. Posso tornare alla classe listrerer, ma richiamare getComponentForm() a quel punto ottiene un NPE ..... quindi non sono sicuro di come ottenere genitoreForm per impostare parentForm.showBack(). – jamesarbrown
È necessario generare nuovamente il modulo precedente, questo è esattamente ciò che facciamo nel builder della GUI. In alternativa è possibile mantenere le istanze del modulo nella RAM con le ovvie implicazioni sul costo della memoria. –
Ok, non realizziamo che il vecchio oggetto modulo viene rilasciato dalla memoria quando ne viene generato uno nuovo. Avrà un pensiero su come ristrutturare in modo ciclico. – jamesarbrown