Programmation Swing
- Premiers programmes
- Un premier programme Hello
World qui utilise la méthode statique showMessageDialog
de la classe JOptionPane pour afficher un message dans une
fenêtre.
- Un programme minimal qui se
contente d'ouvrir une fenêtre.
- Un programme qui ouvre une
simple fenêtre sans rien afficher dedans.
- Un programme qui dessine une
ligne en diagonal.
- Interactions : menus et boutons
- Une application
avec trois boutons pour changer la couleur du fond.
- Une application
avec un menu dans la barre de menu pour changer la couleur du fond.
- Illustration de l'architecture modèle/vue/contrôleur
- Une application
avec deux boutons pour incrémenter et décrémenter un entier affiché.
- Programmation de la même
application en utilisant l'architecture modèle/vue/contrôleur.
- Programmation de la même
application avec en plus un choix de la base d'affichage.
- Programmation
de la même application en utilisant l'architecture modèle/vue/contrôleur
et les ActionCommand des boutons.
- Une convertisseur entre bases
pour illustrer la notion de vue partielle.
- Gestionnaires de disposition
- Une application pour jouer avec
les gestionnaires de disposition.
- Programmes Demo1,
Demo2,
Demo3 et
Demo4 de démontration du gestionnaire
GridBaglayout.
- Utilisation du gestionnaire GridBaglayout pour une
cible
- Actions
- Conteneurs
- Une expérience (archive jar exécutable) chimique avec deux
récipients remplis de gaz. Les récipients sont des JPanel. La
paroi verticale qui les sépare et leurs parois inférieures peuvent être
déplacées grâce à trois JSplitPane imbriqués.
- Listes et conteneurs
Les deux applications ci-dessous utilisent un JList pour la
sélection et un JTextArea pour l'affichage. Pour disposer de
barres de défilement, chacun de ces deux composants est inclus dans
JScrollPane. Les deux JScrollPane sont finalement
regroupés dans un JSplitPane.
- Une application pour essayer
les différents modes de sélection d'une liste.
- Une application pour ajouter
et supprimer des éléments dans une liste.
- Une application pour échanger des
des éléments entre deux listes.
- Tables
- Utilisation directe de la classe JTable pour une table des
planètes du système solaire.
- La même table des planètes
du système solaire avec des cellules non éditables. Pour
cela, on définit le modèle en dérivant une classe de la classe
DefaultTableModel.
- La même table des planètes
du système solaire. La sélection d'une colonne trie les lignes suivant
les entrées de la colonne. On utilise un modèle filtre qui
fait l'interface entre la vue et le modèle qui contient les données.
- Une table des coefficients
binômiaux. Pour cela, on définit un modèle en dérivant une classe
de la classe AbstractTableModel.
- Arbres
- Undo/Redo
- Ajout au labyrinthe
(archive jar exécutable)
d'une fonctionnalité de Undo/Redo sur un seul coup.
- Ajout au labyrinthe
(archive jar exécutable)
d'une fonctionnalité de Undo/Redo sur plusieurs coups.
- Ajout d'une fonctionnalité de Undo/Redo à une
zône de texte
- Images
- Visualisation simple d'une
image. L'image utilisée dans le programme doit être dans un fichier nommé
9personnes.jpg et
placé dans un sous-répertoire images.
- La même chose sous forme d'une
Applette
- Visualisation simple
d'une image avec attente du chargement complet de l'image. Cette
attente est réalisée en redéfinissant la méthode imageUpdate
dont les appels sont affichés. Ceci met en évidence le
caractère asynchrone du chargement des images.
- Visualisation simple
d'une image avec attente du chargement complet de l'image. Cette
attente est réalisée en utilisant un objet MediaTracker.
- Application de filtres
(archive jar exécutable)
à une image.
- Dessin de la
fractale de Mandelbrot
avec possibilité de zoom sur une zône.
- Document de texte
- Internationalisation