2011-07-13 5 views
1

Est-il possible qu'un widget personnalisé utilise la notation @UiHandler pour les événements souris? par exemple. lorsque vous utilisez GWT Designer, vous pouvez faire un clic droit sur le widget personnalisé, sélectionnez Ajouter un gestionnaire d'événements, puis sélectionnez onClick. Plutôt que d'être simplement surAttachOrDetach.Widgets personnalisés et @UiHandler

Cordialement Alex

Répondre

-1

Je ne sais pas exactement comment Designer GWT détecte ces choses, mais @UiHandler regarde le type de l'argument d'événement pour déterminer le type de gestionnaire d'événements et se penche ensuite sur le type de ui:field referened dans la @UiHandler pour une méthode renvoyant un HandlerRegistration et prenant un seul argument du type du gestionnaire d'événements.

En bref: vous pouvez très bien utiliser @UiHandler avec vos propres widgets personnalisés, je ne sais pas à quel point GWT Designer supporte cela.

Voir http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/uibinder/rebind/HandlerEvaluator.java

+0

Merci Thomas, le post suivant m'a aussi aidé http://stackoverflow.com/questions/2587574/gwt-uihandler-on-htmlpanel – Alex

1

Oui, vous pouvez. Par exemple, j'ai une zone de texte + widget label et je ne pourrais pas créer un événement @UiHandler sur de quelque part parce que ce n'est pas standard si ce que je faisais était:

public class TextBoxAndLabel implements HasKeyUpHandlers { 

private TextBox myTextBox; 
private Label myLabel; 


    @Override 
    public HandlerRegistration addKeyUpHandler(KeyUpHandler keyUpHandler) { 
     return myTextBox.addKeyUpHandler(keyUpHandler); 
    } 

} 

et maintenant je peux mettre en œuvre

@UiHandler("myClassObject") 
Questions connexes