Up Next

1  Conteneurs de haut niveau: classes JWindow, JFrame, JDialog et JApplet

Pour répondre aux questions ci-dessous, vous pouvez vous aider du tutoriel suivant : http://java.sun.com/docs/books/tutorial/uiswing/components/frame.html ainsi que des documentations des classes JWindow, JFrame, JDialog et JLabel

Question 1. En utilisant les classes JWindow et JLabel, réalisez une interface similaire à celle de la figure 1 (gauche). Utilisez la méthode getContentPane().add de JWindow pour ajouter le label à la fenêtre. Rendez visible votre fenêtre en utilisant la méthode setVisible. Utilisez les méthodes setSize pour modifier la taille par défaut de la fenêtre et setLocation pour modifier sa position par défaut. Essayez de déplacer et redimensionner la fenêtre en utilisant la souris. Pour quelles applications est-il intéressant d’utiliser la classe JWindow ?
Note: pour positionner une fenêtre au centre de l’écran, vous pouvez utiliser la méthode
setLocationRelativeTo(null) (JFrame). Cette méthode doit-être appelée après la méthode pack() pour obtenir un résultat correct. Expliquez pourquoi.

Question 2. Remplacez la classe JWindow par la classe JFrame de manière à obtenir une interface similaire à la figure 1 (centre). Redimensionnez la fenêtre et observez comment évoluent les positions des textes du label et de la barre de titre.

Question 3. Que se passe-t-il quand on clique sur le bouton de fermeture de l’application? Utilisez la méthode setDefaultCloseOperation de JFrame pour quitter l’application quand on clique sur le bouton de fermeture.

Question 4. Utilisez la méthode setResizable pour rendre la fenêtre non redimensionable

Question 5. Ajoutez à votre interface précédente une fenêtre utilisant la classe JDialog de manière à obtenir une interface similaire à la figure 1 (droite). Vous réaliserez deux versions, l’une en rendant la fenêtre JDialog modale avec la JFrame, l’autre en version non-modale (notion vue en cours). Dans chaque cas, observez quand il est possible d’interagir avec la fenêtre JFrame.


Figure 1: JWindow, JFrame et JDialog

La classe JApplet correspond au conteneur de haut niveau utilisé par les applets Java.

Note: si vous voulez utiliser des composants avec du texte contenant des caractères spéciaux (accents par exemple), vous devez compiler votre fichier source avec la commande javac -encoding ISO8859-1 exemple.java, si votre fichier source utilise la norme ISO8859-1 pour le formatage des caractères.


Up Next