http://www.labo-sun.com
Auteur : Maxime VIALETTE
Version n° 3.0 – 23 novembre 2005
Nombre de pages : 65
Ecole Supérieure d’Informatique de Paris
23. rue Château Landon 75010 – PARIS
www.supinfo.com
Swing
INTERFACE HOMME-MACHINE
Swing – Interface Homme-Machine 2 / 65
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
Swing – Interface Homme-Machine 3 / 65
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
Table des matières
1. INTRODUCTION........................................................................................................................................ 5
2. LES JAVA FOUNDATION CLASSES...................................................................................................... 6
2.1. API AWT ............................................................................................................................................... 6
2.2. API SWING.............................................................................................................................................. 6
2.3. API JAVA2D ........................................................................................................................................... 6
2.4. DRAG & DROP........................................................................................................................................ 6
2.5. API ACCESSIBILITY & INTERNATIONALIZATION ..................................................................................... 6
3. ARCHITECTURE DE SWING.................................................................................................................. 7
3.1. LE PARADIGME MODELE-VUE-CONTROLEUR......................................................................................... 7
3.1.1. Model............................................................................................................................................ 7
3.1.2. View.............................................................................................................................................. 7
3.1.3. Controller ..................................................................................................................................... 7
3.2. LE PLUGABLE LOOK-AND-FEEL .............................................................................................................. 8
3.3. HIERARCHIE DES COMPOSANTS .............................................................................................................. 9
3.4. LE MODE DE DISTRIBUTION DAPPLICATIONS JAVA ................................................................................ 9
3.5. LE PLUGIN ECLIPSE VISUAL EDITOR (ECLIPSE VE).............................................................................. 13
4. LES CONTENEURS.................................................................................................................................. 14
4.1. PRINCIPE .............................................................................................................................................. 14
4.2. LES CONTENEURS DE HAUT NIVEAU ..................................................................................................... 14
4.2.1. JFrame........................................................................................................................................ 14
4.2.2. JDialog ....................................................................................................................................... 15
4.2.3. JWindow ..................................................................................................................................... 16
4.3. LES CONTENEURS UTILITAIRES GENERAUX........................................................................................... 16
4.3.1. JPanel......................................................................................................................................... 16
4.3.2. JToolBar..................................................................................................................................... 17
4.3.3. JScrollPane................................................................................................................................. 17
4.3.4. JSplitPane................................................................................................................................... 17
4.3.5. JTabbedPane .............................................................................................................................. 18
4.4. LES CONTENEURS UTILITAIRES SPECIFIQUES ........................................................................................ 18
4.4.1. JRootPane................................................................................................................................... 18
4.4.2. GlassPane................................................................................................................................... 19
4.4.3. JLayeredPane............................................................................................................................. 19
4.4.4. JDesktopPane............................................................................................................................. 20
4.4.5. JInternalFrame........................................................................................................................... 21
4.4.6. ContentPane ............................................................................................................................... 21
4.4.7. JMenuBar ................................................................................................................................... 21
5. LES COMPOSANTS SWING .................................................................................................................. 23
5.1. PRINCIPE .............................................................................................................................................. 23
5.2. LA CLASSE JCOMPONENT ..................................................................................................................... 23
5.3. LES LABELS.......................................................................................................................................... 24
5.4. LES COMPOSANT BOUTONS................................................................................................................... 25
5.4.1. JButton........................................................................................................................................ 25
5.4.2. JToggleButton............................................................................................................................. 26
5.4.3. JCheckbox................................................................................................................................... 26
5.4.4. JRadioButton .............................................................................................................................. 26
5.5. LES COMPOSANTS TEXTE ...................................................................................................................... 27
5.5.1. JTextField................................................................................................................................... 27
5.5.2. JPasswordField .......................................................................................................................... 27
5.5.3. JTextArea.................................................................................................................................... 27
5.5.4. JTextPane ................................................................................................................................... 28
5.5.5. Définir des styles......................................................................................................................... 28
Swing – Interface Homme-Machine 4 / 65
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
5.5.6. Formater un contenu .................................................................................................................. 29
5.6. LES LISTES............................................................................................................................................ 29
5.6.1. JComboBox................................................................................................................................. 29
5.6.2. List box (JList)............................................................................................................................ 30
5.7. LES BORDURES ..................................................................................................................................... 32
5.8. JTABLE................................................................................................................................................. 33
5.8.1. Utilisation simple d’une JTable.................................................................................................. 34
5.8.2. Renderers par défaut .................................................................................................................. 34
5.8.3. Les Editors.................................................................................................................................. 35
5.8.4. Fonctionnement des Editors ....................................................................................................... 35
5.8.5. Créer notre Editor ...................................................................................................................... 36
5.9. JTREE ................................................................................................................................................... 37
5.9.1. Personnalisation d’un arbre....................................................................................................... 38
5.10. JOPTIONPANE ...................................................................................................................................... 38
5.10.1. Exemples d’utilisation................................................................................................................. 38
5.10.2. Les Méthodes showXxxDialog() ................................................................................................. 40
5.11. JFILECHOOSER ..................................................................................................................................... 41
5.12. LES AUTRES COMPOSANTS ................................................................................................................... 42
6. PREMIERE APPLICATION ................................................................................................................... 43
7. DEUXIEME APPLICATION................................................................................................................... 44
8. LA GESTION DU POSITIONNEMENT................................................................................................. 45
8.1. LES « LAYOUTS MANAGERS » .............................................................................................................. 45
8.2. BORDERLAYOUT .................................................................................................................................. 45
8.3. FLOWLAYOUT ...................................................................................................................................... 46
8.4. GRIDLAYOUT ....................................................................................................................................... 47
8.5. BOXLAYOUT ........................................................................................................................................ 48
8.6. LES AUTRES LAYOUT MANAGERS ......................................................................................................... 49
8.6.1. GridBagLayout ........................................................................................................................... 49
8.6.2. CardLayout................................................................................................................................. 50
8.6.3. SpringLayout............................................................................................................................... 50
8.6.4. LayoutManager personnalisés.................................................................................................... 50
9. TROISIEME APPLICATION.................................................................................................................. 51
10. LA GESTION DES EVENEMENTS................................................................................................... 52
10.1. PRINCIPE .............................................................................................................................................. 52
10.2. LES CLASSES DEVENEMENTS ............................................................................................................... 52
10.2.1. Principe....................................................................................................................................... 52
10.2.2. Evènements de java.awt.event..................................................................................................... 54
10.2.3. Evènements de javax.swing.event ............................................................................................... 54
10.3. LES LISTENERS DEVENEMENTS............................................................................................................ 55
10.3.1. Les listeners hérités de AWT....................................................................................................... 55
10.3.2. Résumé des listeners................................................................................................................... 56
11. QUATRIEME APPLICATION............................................................................................................ 57
12. UTILISATION DE VISUAL EDITOR................................................................................................ 59
12.1. INSTALLATION DU PLUGIN ET PRE-REQUIS............................................................................................ 59
12.2. EXPLICATION DE LENVIRONNEMENT DE MODELISATION ..................................................................... 59
12.2.1. La palette graphique................................................................................................................... 62
12.2.2. La vue « Java Bean ».................................................................................................................. 62
12.2.3. La vue « Properties ».................................................................................................................. 63
12.3. LES AUTRES FONCTIONNALITES............................................................................................................ 63
12.3.1. Placement des composants ......................................................................................................... 63
12.3.2. Ajout d’un Listener ..................................................................................................................... 64
13. CINQUIEME APPLICATION............................................................................................................. 65
Swing – Interface Homme-Machine 5 / 65
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
1. Introduction
Dans de nombreux langage de programmation, tel que le C++, la réalisation d’interfaces utilisateur
graphiques a posé de nombreux problèmes aux développeurs. De plus, en Java les interfaces doivent
être protable d’un système d’exploitation à un autre et offrir des fonctions d’accéssbilités puissante
(raccourcis, internationalisation des applications, …)
Swing constitue la solution la plus employé pour réaliser des interfaces graphiques en Java car c’est
une logique simple à mettre en œuvre et efficace.
Swing reprend beaucoup de concept d’AWT (Abstract Window Toolkit), l’ancienne API permettant
de réalisé des applications graphiques. Toute la gestion des évènements est d’ailleurs toujours
centralisée dans l’API d’AWT, Swing a simplement ajouté des nouveaux composants graphiques avec
des nouvelles fonctionnalitées.
Une nouvelle librairie est apparue il y a quelques mois. Connue sous le nom de SWT (Standard
Widget Toolkit), cette librairie permet d’obtenir des applications beaucoup plus performante et
pouvante éventuellement être exécuter sur des plateformes mobiles tel que des PocketPCs, …
Les nouvelles applications Java se réalisent de plus en plus en SWT tel que Eclipse 3, Azureus, …
SWT n’est cépendant pas compatible avec Swing ou AWT. Avant d’apprendre à réaliser des
applications en SWT il est important de maitriser les notions de Swing. Il y a encore beaucoup de
demande de modification d’applications existantes ou de migration, c’est pour cela qu’il est important
de ne pas commencer à faire des applications SWT sans en avoir réalisé en Swing.
1 / 65 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !