Introduction GWT

De Wiki de Romain RUDIGER
Aller à : navigation, rechercher

Page en cours de création.

Installation

Télécharger la dernière version de GWT Extraire dans un dossier quelconque

C:\data\pegase\workspacePerso\ressources>cd gwt-windows-1.5.3

C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3>mkdir DemoWiki

C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3>cd DemoWiki

C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki>projectCreator -eclipse DemoWiki
Created directory C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src
Created directory C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\test
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\.project
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\.classpath

C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki>applicationCreator -eclipse DemoWiki fr.novalan.wiki.java.gwt.demo.client.DemoWiki
Created directory C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo
Created directory C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo\client
Created directory C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo\public
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo\DemoWiki.gwt.xml
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo\public\DemoWiki.html
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo\public\DemoWiki.css
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\src\fr\novalan\wiki\java\gwt\demo\client\DemoWiki.java
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\DemoWiki.launch
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\DemoWiki-shell.cmd
Created file C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki\DemoWiki-compile.cmd

Dans Eclipse : File -> Import... -> General -> Existing Projects into Workspace -> [Next] Select root directory : "C:\data\pegase\workspacePerso\ressources\gwt-windows-1.5.3\DemoWiki" Cocher "Copy projects into workspace" -> [Finish] Important : Convertir les fichiers du projet en UTF-8 Clic droit sur le projet -> Properties -> Resource -> Text file encoding -> Other -> UTF-8

Premier lancement

Run -> Debug Configurations... -> Java Application -> DemoWiki -> [Debug] Note : En cas d'avertissement du pare-feu Windows, choisir de débloquer l'application

Création d'une bibliothèque de widgets

Créer deux nouveaux packages dans le dossier src du projet fr.novalan.wiki.java.gwt.biblio fr.novalan.wiki.java.gwt.biblio.client Créer un nouveau fichier Biblio.gwt.xml dans le package biblio

<module>
	<source path="client" />
</module>

Editer le fichier DemoWiki.gwt.xml et ajouter la ligne suivante dans la partie "Other module inherits"

<inherits name='fr.novalan.wiki.java.gwt.biblio.Biblio'/>

Créer une nouvelle classe ContactWidget dans le package biblio.client

package fr.novalan.wiki.java.gwt.biblio.client;

import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;

public class ContactWidget extends Composite {
	
	private VerticalPanel vPanel = new VerticalPanel();
	private TextBox txtPrenom = new TextBox();
	private TextBox txtNom = new TextBox();
	private TextBox txtTelephone = new TextBox();
	private TextBox txtEmail = new TextBox();
	
	/**
	 * Constructeur par défaut.
	 */
	public ContactWidget() {
		this.construire();
		initWidget(this.vPanel);
	}
	
	/**
	 * Méthode d'assemblage des composants.
	 */
	private void construire() {
		FlexTable flexTable = new FlexTable();
		
		flexTable.setWidget(0, 0, new Label("Prénom :"));
		flexTable.setWidget(0, 1, this.txtPrenom);
		
		flexTable.setWidget(1, 0, new Label("Nom :"));
		flexTable.setWidget(1, 1, this.txtNom);
		
		flexTable.setWidget(2, 0, new Label("Téléphone :"));
		flexTable.setWidget(2, 1, this.txtTelephone);
		
		flexTable.setWidget(3, 0, new Label("Téléphone :"));
		flexTable.setWidget(3, 1, this.txtEmail);

		this.vPanel.add(flexTable);
	}
	
	public TextBox getTxtPrenom() {
		return txtPrenom;
	}

	public void setTxtPrenom(TextBox txtPrenom) {
		this.txtPrenom = txtPrenom;
	}

	public TextBox getTxtNom() {
		return txtNom;
	}

	public void setTxtNom(TextBox txtNom) {
		this.txtNom = txtNom;
	}

	public TextBox getTxtTelephone() {
		return txtTelephone;
	}

	public void setTxtTelephone(TextBox txtTelephone) {
		this.txtTelephone = txtTelephone;
	}

	public TextBox getTxtEmail() {
		return txtEmail;
	}

	public void setTxtEmail(TextBox txtEmail) {
		this.txtEmail = txtEmail;
	}
}