Interfaces Graphiques en Java
TD 1

Composants simples: fenêtres, panneaux, boutons, labels, menus, toolbars, etc.

Le but de ce TD consiste à créer une fenêtre graphique avec des bordures. Puis dans un second temps à decouvrir comment ajouter un ensemble de composants simples à celle-ci.


Exercice 1 : SimpleFrame

  1. Écrire une classe SimpleFrame permettant d'afficher une fenêtre. Nous utiliserons pour cela la classe javax.swing.JFrame.
    On lui donnera simplement : Puis on l'affichera via la commande show().
  2. Dans un second temps, ajouter à cette fenêtre un label (JLabel), représentant une étiquette (un texte court).
    Pour récuperer le conteneur permettant d'ajouter des composants à une fenêtre nous utiliserons la méthode getContentPane().
  3. Puis, ajouter un bouton "OK" (JButton) en plus du label.
    Que se passe-t-il ? Comment faire pour que le label ne disparaisse pas.

Exercice 2 : SimpleFrame2 et Découpage objet

D'une manière générale, on n'ajoute pas directement des composants dans le contentPane d'une fenêtre JFrame. On préfère spécifier l'ensemble des composants désirés dans un panel (JPanel), puis indiquer que ce pannel est le nouveau contentPane (via la commande setContentPane()) de la fenêtre JFrame.

Modifier l'exemple SimpleFrame en ce sens.


Exercice 3 : À la découverte de nouveaux composants

Créer une nouvelle JFrame nommée Découverte et ajouter dans son contentPane les composants suivant :

  1. Ajouter une bulle d'aide contextuelle (setToolTipText()) sur le bouton.
  2. Rendre le bouton inopérent (setEnabled())
  3. Changer la couleur du texte et du fond du bouton (setForeground() et setBackground()).
    Attention à la transparence par défaut (setOpaque()).
  4. Ajouter un texte dans le champ de texte et dans la zone de texte. (setText())
  5. Rendre le champ de texte non éditable (setEditable()))
  6. Ajouter une bordure aux séries de boutons (le méthode est setBorder(), en fournissant un objet de type java.swing.border.Border créé via les méthodes de la classe java.swing.BorderFactory).
  7. S'arranger pour qu'un seul des checkbox soit enfoncé à la fois.
    Il faut pour cela définir un groupe logique de boutons (ButtonGroup), et ajouter chaque checkbox au groupe de boutons.

Exercice 4 : Les Menus

Dans une nouvelle fenêtre JFrame, nous allons ajouter des menus.

  1. Créer une barre de menu (JMenubar).
  2. Ajouter un menu File (JMenu).
  3. Ajouter deux items Open et Save (des JMenuItem) au menu File (à l'aide de la méthode add()).
  4. Puis ajouter le menu File à la barre de menu.
  5. Enfin, ajouter la barre de menu à la fenêtre (setJMenuBar()).
Dans un second temps, ajouter au autre menu contenant des checkboxs (JCheckBoxMenuItem). Puis grouper les.

Exercice 5 : La barre d'outils

Dans une nouvelle fenêtre JFrame, nous allons ajouter une barre d'outil. Pour cela, nous allons auparavant créer les boutons contenant des images pour mettre ceux-ci à l'intérieur de la barre d'outils.

  1. Créer trois boutons Cut, Copy et Paste
  2. Associer (setIcon()) une image (ImageIcon) à chaque bouton.
  3. Créer une barre de d'outil (JToolBar)
  4. Ajouter les trois boutons à la barre d'outil (avec des add(button). Puis ajouter la barre d'outil à la fenêtre (avec un add(toolbar, BorderLayout.NORTH), pour plus d'info voir la doc de java.awt.BorderLayout)).

Rémi Forax 2002 Université de Marne la Vallée