WindowBuilder
Création d'un projet WindowBuilder sous Eclipse
File / New / Project... -> ouverture de la fenêtre New Project : Select a Wizard
WindowBuilder / SWT Designer / SWT/JFace Java Project -> création du projet
Une fois dans le projet, création d'une fenêtre principale
Clic droit sur src puis New / Other... -> ouverture de la fenêtre New : Select a Wizard
WindowBuilder / Swing Designer / Application Window -> création d'une première classe MainWB
Passer en mode "Design" pour ajouter des éléments dans la fenêtre principale ou éditer ses caractéristiques
Lui donner un background rouge
Autre exemple : création d'une fenêtre secondaire
Clic droit sur src puis New / Other... -> ouverture de la fenêtre New : Select a Wizard
WindowBuilder / Swing Designer / JFrame -> création d'une seconde classe SecondWindow
Passer en mode "Design" pour ajouter des éléments dans cette seconde fenêtre ou éditer ses caractéristiques
Lui donner un background vert
Ajout d'une référence à une instance de SecondWindow dans les attributs de MainWB
private SecondWindow second ;
Création de cette instance dans la méthode private void initialize ()
second = new SecondWindow () ;
Changement du LayoutManager de la fenêtre principale :
En mode Design, cliquer sur SpringLayout puis sur le fond de la fenêtre principale
Ajout d'un premier bouton intitulé Open dans la classe MainWB pour faire apparaître la seconde fenêtre
Cliquer sur JButton puis sur le fond de la fenêtre principale à l'endroit où placer ce bouton
Changer le texte du bouton en Open
Renommer ce bouton en openButton
Double-cliquer sur ce bouton : WindowBuilder détecte l'action et propose d'associer une action à un clic sur le bouton :
Cela a ajouté un ActionListener sur le bouton, doté d'une méthode actionPerformed, y ajouter du code :
second.setVisible (true) ;
Ajout d'un second bouton Close dans la classe MainWB pour faire disparaître la seconde fenêtre
Procéder de la même manière, en renommant le bouton closeButton et en lui faisant afficher Open, et ajouter cette fois :
second.setVisible (false) ;
Au lancement du projet une fenêtre rouge s'affiche et l'appui sur les boutons Open et Close permet de faire apparaître et disparaître la seconde fenêtre verte...
Pour donner davantage d'informations à l'utilisateur sur le fonctionnement des boutons en leur donnant un comportement dynamique, il faut :
Quand la seconde fenêtre apparaît
désactiver le bouton Open
openButton.setEnabled (false) ;
activer le bouton Close
closeButton.setEnabled (true) ;
Quand la seconde fenêtre disparaît
désactiver le bouton Close
closeButton.setEnabled (false) ;
activer le bouton Open
openButton.setEnabled (true) ;
Et bien entendu il faut avoir initialisé correctement ces deux boutons, en particulier il faut que les déclarations des boutons se trouvent avant les déclarations des listeners qui les utilisent...