Créer sa première application avec le Google Widget Toolkit

En savoir plus

Commençons par la définition de la classe Example, point d'entrée de l'application.

public class Example implements EntryPoint {
 
// la méthode onModuleLoad est appelée au chargement de la page HTML
  // Example.html
      public void onModuleLoad() {
            // On récupère le point d'entrée du DOM à partir duquel on va créer
            notre application
            RootPanel rootPanel = RootPanel.get();

           // Top panel
          
final VerticalPanel verticalPanel = new VerticalPanel();
           rootPanel.add(verticalPanel);
           verticalPanel.setSize("100%", "100%");
           verticalPanel.setVerticalAlignment
           (HasVerticalAlignment.ALIGN_MIDDLE);
           verticalPanel.setHorizontalAlignment
           (HasHorizontalAlignment.ALIGN_CENTER);

           // Table dans laquelle on place les éléments
           final FlexTable flexTable = new FlexTable();
           verticalPanel.add(flexTable);
           flexTable.setStyleName("example-verticalpanel");

            // Bouton de validation
            final Button validateButton = new Button();
            flexTable.setWidget(2, 2, validateButton);
            validateButton.setText("Validate");

             // Login label + text box
             final Label loginLabel = new Label("Login");
             flexTable.setWidget(0, 0, loginLabel);
             final TextBox login = new TextBox();
             flexTable.setWidget(0, 1, login);
             login.setWidth("200px");

             // Password label + text box
             final Label passwordLabel = new Label("Password");
             flexTable.setWidget(1, 0, passwordLabel);
             final TextBox password = new TextBox();
             flexTable.setWidget(1, 1, password);
             password.setWidth("200px");

            // On intercepte les évènements sur le bouton afin de lancer la
            validation
            sur le serveur validateButton.addClickListener(new ClickListener() {
                           public void onClick(Widget sender) {
                                       // on crée une instance de notre validateur de
                                       // login/password
                                       ValidatorAsync validator =
                                        Validator.Util.getInstance();
                                       // on définit la callback utilisée pour récupérer
                                       de manière asynchrone
                                       // les infos venant sur serveur
                                       AsyncCallback callback = new AsyncCallback() {
                                             public void onSuccess(Object result) {
                                                     // méthode exécutée en cas de succès
                                                     String str = (String) (result);
                                                     Window.alert(str);
                                              }

                                              public void onFailure(Throwable caught) {
                                                     // méthode exécutée en cas d'erreur
                                                     Window.alert("erreur de
                                                      communication avec le serveur");
                                                      }
                                                };
                                               // On execute la commande de validation,
                                               ie on appelle le servlet
                                               // correspondant sur le serveur.
                                               // Ce dernier renvoie le résultat via le
                                               callback ci-dessus
                                               validator.validate(login.getText(),
                                               password.getText(), callback);
                                         }
                   });
}}

Définition de l'interface Java ValidatorAsync décrivant le service distant à appeler.

public interface ValidatorAsync {
     public void validate(String login,String password,AsyncCallback callback);
}


JDN Développeur Envoyer Imprimer Haut de page