Introduction
- Présentation et origine de swing. Evolutions des toolkits graphiques Java. Les principes de base.
- Intégration à J2SE. Plateforme MVC.
- "Lightweight" et "Heavyweight" composants.
- Présentation d'AWT et de Java2D, liaison avec Swing.
- Notions de Layout et de LookAndFeel, d'événements.
Principaux conteneurs
- Les conteneurs pour la réalisation de fenêtres, boîtes de dialogue et panneaux divers.
- JFrame et JDialog : fenêtres et boîtes de dialogue.
- JMenu, JMenuPopup, etc.
- JPanel : conteneur générique.
- JScrollPane : conteneur scrollable.
- JToolBar, JDesktopPane. JFileChooser...
Travaux pratiques
Définition de la maquette de l'application. Création du squelette de l'IHM avec fenêtre, boîtes de dialogue, etc.
Principaux layouts
- Le layout, pour la disposition des éléments de l'affichage. Objectifs et principes.
- Layouts standard BorderLayout, GridBagLayout...
- Usage de TableLayout, FormLayout et SwingLayout.
- Création d'un nouveau layout.
Travaux pratiques
Organisation des composants IHM au moyen de layout.
Principaux composants
- JLabel : intégration texte simple ou HTML.
- Composants texte : JTextField, JTextArea, JEditorPane.
- Boutons : JButton, JComboBox, JCheckBox...
- JList, JTree, JTable (modèles, renderer, editor).
Travaux pratiques
Création des éléments d'interaction, gestion des événements utilisateurs, développement de l'application.
Fonctions avancées
- Création d'un composant.
- Usage des actions (toolbars, menu, popup, bouton).
- Mécanisme de Drag'n Drop.
- Usage/Installation et adaptation d'un Look & Feel.
- Framework de binding (jgoodies).
- Traitements asynchrones avec SwingUtilities, SwingWorker.
- Internationalisation.
Travaux pratiques
Mise en œuvre de techniques avancées.
Environnements Swing
- Alléger le travail par l'usage d'environnement de conception graphique et d'API divers.
- Frameworks : SwingX, Jide, SwingAppKit.
- Présentation de Matisse et de plug-ins Eclipse.
- Déploiement avec Java Web Start.