Progression SWING 17/04/2017 D:\769787792.doc 1/11 Sommaire 1 2 3 4 Pré-requis : ....................................................................... 3 Objectifs : .......................................................................... 3 Présentation du fonctionnement ..................................... 3 Quelques Composants ...................................................... 4 4.1 Différents composants ......................................................................................................................... 4 4.2 Menu .................................................................................................................................................... 4 4.2.1 Barre de menu .............................................................................................................................. 4 4.2.2 Menu ............................................................................................................................................ 4 4.2.3 Elément de menu.......................................................................................................................... 4 4.2.4 Séparateur .................................................................................................................................... 4 4.2.5 Touche de raccourci ..................................................................................................................... 4 4.3 Boites de dialogue ................................................................................................................................ 5 4.3.1 Caractéristiques ............................................................................................................................ 5 4.3.2 Dialogue message ........................................................................................................................ 5 4.3.3 Dialogue demande de confirmation ............................................................................................. 5 4.3.4 Dialogue de saisie ........................................................................................................................ 5 4.3.5 Dialogue de saisie plus complexe ................................................................................................ 5 4.3.6 Dialogue à vous de jouer : ........................................................................................................... 6 5 Layout : Politique de placement ...................................... 7 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Présentation : Bouquin java p 191 à 199 ............................................................................................ 7 Sans précision de LAYOUT ................................................................................................................ 7 FlowLayout : les uns derrière les autres .............................................................................................. 7 BorderLayout bords nord, est, sud ,ouest et le centre .......................................................................... 7 GridLayout : tableau avec cellule identique ........................................................................................ 7 BoxLayout : ......................................................................................................................................... 7 GridBagLayout .................................................................................................................................... 7 Et surtout combinaison de toutes ces politiques de placement ............................................................ 7 6 Gestions des événements .................................................. 9 6.1 ActionListener...................................................................................................................................... 9 6.2 ItemListener ......................................................................................................................................... 9 6.3 TextListener ......................................................................................................................................... 9 6.4 Placement des classes de listener ......................................................................................................... 9 6.4.1 Classe externe .............................................................................................................................. 9 6.4.2 Classe interne ............................................................................................................................... 9 6.4.3 Classe interne anonyme .............................................................................................................. 9 7 L’architecture MVC ...................................................... 10 7.1 7.2 7.3 7.4 7.5 Principe .............................................................................................................................................. 10 Modele simple.................................................................................................................................... 10 JList avec événement ......................................................................................................................... 10 JTable avec événement ...................................................................................................................... 10 JTable avec événement et sélection de ligne ..................................................................................... 10 8 Ressources : .................................................................... 11 9 Projet ............................................................................... 11 17/04/2017 D:\769787792.doc 2/11 1 Pré-requis : Avoir fait de la programmation événementielle Avoir construit des IHM Savoir programmer en objet avec Java (héritage, Interface) 2 Objectifs : Pas un nième support de cours… Pour ça voir liste des ressources et vos sites préférés sur Internet Mais les points à voir par des exemples de résultat et le code correspondant et des exercices de mise en pratique 3 Présentation du fonctionnement Il ne s’agit pas de lire forcément en séquentiel….. Tour d’horizon, puis le projet en cherchant les points nécessaire ou Qu’est que je connais déjà , quel est mon aisance sur les composants IHM…. ; Chaque chapitre comporte : Les points à voir Un exemple : visualisation du résultat et code correspondant Une application à faire avec proposition éventuelle 17/04/2017 D:\769787792.doc 3/11 4 Quelques Composants 4.1 Différents composants Deux packages : AWT et SWING Tableau de synthèse liste de composants : « Les cahiers du programmeur JAVA » p 190 Debut de code Fin de code 4.2 Menu Cf livre SWING p 40 4.2.1 Barre de menu JMenuBar 4.2.2 Menu JMenu 4.2.3 Elément de menu JMenuItem 4.2.4 Séparateur Separator 4.2.5 Touche de raccourci Mnemonic Le Code correspondant 17/04/2017 D:\769787792.doc 4/11 4.3 Boites de dialogue Avec AWT : Dialog avec SWING JDialog et surtout JOptionPane 4.3.1 Caractéristiques Générales Présentations 4.3.2 Dialogue message Exemple : Code 4.3.3 Dialogue demande de confirmation Exemple : Code 4.3.4 Dialogue de saisie Exemple Code 4.3.5 Dialogue de saisie plus complexe Exemple 17/04/2017 Code D:\769787792.doc 5/11 Code complet des dialogues précédents(.java) 4.3.6 Dialogue : à vous de jouer : Code 17/04/2017 D:\769787792.doc 6/11 5 Layout : Politique de placement 5.1 Présentation : Bouquin java p 191 à 199 5.2 Sans précision de LAYOUT Exemple Code 5.3 FlowLayout : les uns derrière les autres Exemple Code 5.4 BorderLayout bords nord, est, sud ,ouest et le centre Exemple Code 5.5 GridLayout : tableau avec cellule identique Exemple Code 5.6 BoxLayout : Exemple Code 5.7 GridBagLayout Exemple Code 5.8 Et surtout combinaison de toutes ces politiques de placement 17/04/2017 D:\769787792.doc 7/11 Exemple 17/04/2017 Code D:\769787792.doc 8/11 6 Gestions des événements 6.1 ActionListener 6.2 ItemListener 6.3 TextListener 6.4 Placement des classes de listener 6.4.1 Classe externe 6.4.2 Classe interne 6.4.3 Classe interne anonyme 17/04/2017 D:\769787792.doc 9/11 7 L’architecture MVC 7.1 Principe 7.2 Modele simple 7.3 JList avec événement 7.4 JTable avec événement 7.5 JTable avec événement et sélection de ligne 17/04/2017 D:\769787792.doc 10/11 8 Ressources : Document AFPA de N. Pelletier de Nanterre SWING la synthèse DUNOD Les cahiers du programmeur JAVA EYROLLES Support de cours VALTECH 9 Projet 17/04/2017 D:\769787792.doc 11/11