SWING permet l'élaboration des interfaces riches des programmes Java s'exécutant en local ; associé à Java Web Start, il propose une alternative très séduisante aux applications Web 2.0 pouvant encore souffrir d'un manque de richesse en termes d'interface utilisateur. Cette formation Swing permet aux développeurs Java connaissant déjà SWING d'aborder des problématiques avancées comme la bonne gestion du multi-threading, le glisser/déposer, le undo et les architectures client/serveur.
Contenu du cours swing
Rappels
Cas d'usage, Architecture de SWING et interaction avec l'OS sous-jacentHiérarchie des classes, la classe JComponent, les conteneurs, composants de saisie, composants complexesConstruction d'interface et layoutsGestion de l'interaction utilisateur, modèle événementiel, Pattern MVC, Listener et AdapterSwing et les IDEs, le cas d'EclipseAtelier :Utilisation de différents layout, interaction utilisateur, JTree et JTable
SWING et le multithreading
Rappels sur les threads, le package java.util.concurrentCas d'usage des threads dans SWING, Typologie des threads SWING, Support de Swing pour le multithreadingThread initiale, javax.swing.SwingUtilitiesWorker thread, javax.swing.SwingWorker, principes, résultats intermédiaires, valeur de retour, annulationSwing TimerCas d'uage, JProgressBar, ImageObserverAtelier :Création de tâches Worker et affichage de la progression
Interactions avancées avec Swing
Intégration avec le bureau, les classes Desktop, SystemTray, SplashScreenJava et les imprimantes, L' impression dans Swing, Impression de texte, de tablesSupport de Swing pour le Glisser/Déposer et le copier/collerProcessus du D&D, Composants D&D, TransferHandler, TransferSupport, Mode de DROP, ...Processus du Copier/Coller. Implémentation avec les composants textes, avec les autres composants, ActionMap, InputMapImplémentation du Undo, le package javax.swing.undo, la classe UndoManagerAtelier :Glisser/Déposer et Copier/Coller à partir de JTable
Architecture client/serveur avec Swing
Alternatives d'architecture et de protocoles, communication synchrone ou asynchroneDifférents types de serveur (Processus serveur, Container de servlet, Serveur Java EE)Interactions avec des sockets, protocoles supportés par JavaInteraction HTTPRemote EJB SessionLe modèle asynchrone JMSAtelier :Sur une des architectures