Skip Navigation Links
Accueil
Java Standard EditionExpand Java Standard Edition
Java EE 5Expand Java EE 5
Visual Basic .Net 2005Expand Visual Basic .Net 2005
Visual C++ .Net 2005Expand Visual C++ .Net 2005
Visual C# .Net 2005Expand Visual C# .Net 2005
Cours ASP .Net 2.0Expand Cours ASP .Net 2.0
PostgresqlExpand Postgresql
LinuxExpand Linux
Visual Studio 2008Expand Visual Studio 2008
ASP 3.0 ClassiqueExpand ASP 3.0 Classique
Cours Javascript - DOM - DHTMLExpand Cours Javascript - DOM - DHTML
Cours AjaxExpand Cours Ajax
VBAExpand VBA
AssembleurExpand Assembleur
PerlExpand Perl
MembresExpand Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Accueil > Java Standard Edition > Les interfaces graphiques
____________________________________________________________________________________________________
Connexion

LES INTERFACES GRAPHIQUES EN JAVA

10/12/2007
I) Swing et les bibliothèques graphiques, généralités
II) Les GUI designers - Jigloo GUI Builder
III) Pour l'anecdote : le Plug-in V4All pour Eclipse

I) Swing et les bibliothèques graphiques, généralités

Parlons de deux bibliothèques célèbres destinées aux interfaces graphiques: AWT ( Abstract Window Toolkit, la plus ancienne), et Swing, qui est plus à la mode maintenant que AWT. Il en existe d'autres, comme SWT.

Swing comporte de nombreux avantages. Nous choisirons Swing pour notre étude, pour l'instant.

Avantages de Swing (mais d'autres bibliothèques sont intéressantes aussi) :

- Swing est jeune. Swing est conseillée par le site de Sun. Les classes de l’AWT ne sont plus mises à jour par Sun. Swing est complètement implémenté en Java, il ne dépend pas du système d’exploitation hôte.

- Swing a plus de fonctionnalités que AWT. Et même les contrôles communs aux deux sont plus riches dans Swing.

- Swing a éliminé les incohérences de AWT dans le nom des classes, etc.

- Le design des composants de Swing ne dépend pas de la plateforme. Notre application Java aura donc le même look quelque soit la plateforme( Linux, Windows, Mac). Tout en gardant la possibilité d’avoir un design dépendant de l’hôte, mais tout en restant du code interne complètement écrit en Java.

II) Les GUI Designers - Jigloo

Développer en utilisant la bibliothèque Swing est possible, mais on a besoin d’installer un GUI designer, c'est à dire une interface graphique (un designer) qui permette de disposer les composants graphiques de manière intuitive, puis de générer le code correspondant. Ils nous évitent donc d'être obligé d’écrire directement le code, ce qui est peu pratique. On peut dessiner de manière graphique ( WYSIWYG, What You See Is What You Get) sa future interface graphique. Ensuite le code Java correspondant à notre souhait sera généré automatiquement.

Les GUI designer pour Eclipse se présentent sous la forme d'un plug-in. Il en existe plusieurs.

II.1) Jigloo GUI Builder

   Jigloo GUI Builder, de la CloudGarden, est  un excellent GUI designer pour eclipse, et il est gratuit pour une utilisation non commerciale! Il se présente sous la forme
d'un plug-in pour Eclipse, et prend en charge Swing et SWT. Il est très pratique et
complet. Contrairement à Visual Studio .net, il affiche le design uniquement à partir du code, ce qui permet de pouvoir partir de codes sources quelconques; c'est une fonctionnalité très puissante. De plus, il est très facile à installer.

http://www.cloudgarden.com/

II.1.A)Télécharger Jigloo

Jigloo est gratuit pour une utilisation non commerciale uniquement.
On télécharge le zip, par exemple jigloo_405.zip. Ce zip contient uniquement 2 répertoires, features et plugins. Le dossier features contient un seul répertoire, "com. cloudgarden.jigloo-4.0.5". Le dossier « plugins » contient lui aussi un seul dossier, du même nom, « com.cloudgarden.jigloo_4.0.5 ». Copiez le contenu du répertoire « features » dans le dossier « features » de eclipse, et le contenu du répertoire « plugins » dans le dossier « plugins » de eclipse.

II.1.B)Utilisation de Jigloo

Faire File->New->Other->GUI Forms->Choisir Swing, SWT, …->Si Swing, choisir entre JApplet, JDialog, JFrame, JInternalFrame, JPanel et Swing Main Application. Par exemple en choisissant JFrame, une classe JFrame est créée. Pour avoir le designer quand vous ne l’avez plus, faîtes dans le package explorer, sur le nom de votre JFrame, clic droit -> open with -> Form Editor. Le Form Editor est divisé en deux parties. La partie du haut est le design, et celle du bas est le code source java correspondant. Il est à noter que le design affiché est construit uniquement à partir du code source java, et il est réaffiché en temps réel à chaque modification du code. Ceci veut dire que vous pouvez obtenir la vue design pour n’importe quel source java, même si vous ne l’avez pas écrit vous-même.

III) Pour l'anecdote : Le plug-in V4All pour Eclipse

Le plug-in Eclipse V4All

Le plug-in V4All est assez difficile à installer, ses fonctionnalités ne sont pas très intéressantes, et il est compliqué à utiliser. De plus, il n'est apparemment plus mis à jour depuis plusieurs années.
Je vous laisse ci-dessous la procédure d'installation, pour ceux qui seraient quand même intéressés.

   V4All est un plug-in opensource qui a pour objectif de permettre de développer des interfaces graphiques Swing( ou SWT, mais nous ne l’aborderons pas pour l’instant).

   V4All a besoin lui-même du plug-in GEF( Graphical Editing Framework).

III.1) Installation du plug-in GEF( Graphical Editing Framework)

Adresse de téléchargement http://download.eclipse.org/tools/gef/downloads/ ( site d’Eclipse).

   Décompressez le zip, et copiez le contenu du répertoire plugins, dans le répertoire plugins d’eclipse. Et le contenu du répertoire feature dans le répertoire feature d’eclipse. Il se peut que vous possédiez déjà certains des fichiers dans eclipse.

   Redémarrez Eclipse et validez votre installation si on vous le demande.

III.2)Installation du plug-in V4All

Adresse de téléchargement : http://sourceforge.net/projects/v4all

Décompressez le zip( à ce jour, v4all_2_1_1_9.zip), et copiez le contenu du répertoire plugins, dans le répertoire plugins d’eclipse. Et le contenu du répertoire feature dans le répertoire feature d’eclipse. Il se peut que vous possédiez déjà certains des fichiers dans eclipse.
v4all_2_1_1_9.zip possède juste un répertoire dans son répertoire plugins et un répertoire dans son répertoire feature.

Redémarrez Eclipse et validez votre installation si on vous le demande.

III.3) Utiliser V4ALL

Créez d’abord un nouveau Java Project( New -> Project -> Java -> Java Project), appelons le JP1(JavaProject1).

   Un nœud s’ajoute dans le package Explorer, appelé « JP1 », qui contient un dossier vide « src », et également un sous-nœud « JRE System Library ». Remarque : votre Java project JP1 vient s’ajouter aux autres Java Projects existants dans le package explorer, si vous en aviez déjà( mais ils sont indépendants entre eux).

   Premier travail : commencez par vous créer une classe main, dans votre projet JP1 : clic droit sur « src » dans le package explorer, puis New->other->Java->Class, et sélectionnez l’ajout du main. Appelez cette classe par exemple « Gui_1 ». Le fichier Gui_1.java est alors créé. Une classe main est indispensable pour que le générateur de code V4All accepte de générer le code.

   Dans le package explorer, click droit sur le dossier src du projet JP1, puis New->Project->Java->V4E Visual Editor-> V4E Editor . Choisissez ensuite Swing comme bibliothèque.
S’ajoute alors dans le package explorer, dans src : Gui_1.v4all( ou du nom de fichier que vous avez choisi). Le nom que vous entrez doit être le nom de votre fichier contenant la classe main. A l’avenir, en cliquant sur Gui_1.v4all, s’affichera une interface graphique permettant de dessiner le design voulu( la première fois le design s’affiche automatiquement, si vous acceptez à la fin). Sans fichier main correspondant, impossible de générer le code.


IMPORTANT : Vous devez mettre la propriété Generation->Generate Main à True( elle est par défaut à false), dans la fenêtre « properties », pour que le code correspondant soit généré !

Exemple : dans la fenêtre des composants, dans l’onglet « container », choisissez le composant « Frame »( qui est la fenêtre de base !). Faites un glisser-déposer vers la fenêtre graphique. Puis clic droit sur la partie graphique, et Code generation -> Generate code for Swing. Puis cliquez soit sur l’onglet Source( Vous étiez dans l’onglet visual composition), soit sur votre classe Gui_1.java. Vous apercevez alors le code généré.

 Pour exécuter votre application, clic droit sur le code de Gui_1.java, Run as -> Java Application. Votre belle fenêtre s’affiche alors, avec les 3 boutons classiques de fermeture, d’agrandissement, et de minimiser( en haut à droite).

III.3.a) Remarque sur l'implémentation du code

la méthode statique main fait partie de la public class Gui_1 extends javax.swing.Jframe . Si vous ajoutez un bouton dans votre Frame, le bouton sera un attribut privé de cette classe, figurant d’ailleurs à la fin de la classe, juste avant les constructeurs et le main en dernière position.

III.3.b) Remarque sur le terme "composant"

en Java, on utilise « component »( composant) pour désigner, par exemple, une check-box, alors que .net appelle cela un contrôle.

RETOUR HAUT