PDA

View Full Version : [JAVA] problema a cui non so dare un nome


sharkkk
21-03-2014, 09:02
Ciao a tutti,

Ho da gestire una form di registrazione, che compare come popup. Al momento del click sul bottone della registrazione ("registrati") devo poter rimuovere il popup.

Ho una classe MyHandler in cui definisco cosa fare quando clicco su "registrati" dentro la classe Popup, e la classe Popup in cui definisco la User Interface.

Il problema è che dentro la classe MyHandler vorrei gestire la chiusura automatica del popup a registrazione avvenuta, e non so come passare alla classe MyHandler l'istanza della Classe Popup creata, per poter usare cosi il metodo della classe Popup.hide().

p.s. al momento è strutturato il tutto cosi


class main{

//creo l'istanza del popup
final PopupRegistration popup = new PopupRegistration();

}

public class PopupRegistration extends PopupPanel {

public PopupRegistration() {
[creazione interfaccia utente]
}

class MyHandler implements ClickHandler {
[elaborazione dei dati server-side catturando i valori dei dati passati nella form]
[qui vorrei poter usare l'istanza del popup per poter usare il metodo .hide() di quell'istanza, ma non riesco]
}

MyHandler handler = new MyHandler();
sendButton.addClickHandler(handler);

}

mone.java
21-03-2014, 09:57
class MyHandler implements ClickHandler {
private PopupRegistration popup;

public MyHandler(PopupRegistration popup) {
this.popup = popup;
}

void hanlder() {
popup.hide();
}
}

MyHandler handler = new MyHandler(this);
sendButton.addClickHandler(handler);


In alternativa PopupRegistration può implementare direttamente ClickHandler e quindi puoi fare sendButton.addClickHandler(this). Nel codice dell'handler, che diventa un metodo di PopupRegistration, puoi chiamare direttamente hide(). Ma sono questioni di stile e leggibilità del codice.

sharkkk
21-03-2014, 23:22
grazie mille, in effetti era molto semplice la cosa :)