Quelle que soit l'application considérée, les utilisateurs doivent disposer d'un outil agréable, fonctionnel et qui leur fasse gagner du temps lors de la saisie d'informations. Dans le cadre du développement de clients riches en Java, plusieurs alternatives sont disponibles, chacune ayant ses avantages et ses inconvénients. Durant cette formation de 5 jours, les participants seront amenés à évaluer les possibilités des APIs Swing, JavaFX et de la plate-forme Eclipse RCP et à comprendre comment les utiliser dans leurs projets. L'accent sera mis sur les notions de layout, de gestion des évènements, de vues et de plug-ins en vue de concevoir des interfaces graphiques évoluées.
Objectifs de cette formation
Conception d'interfaces graphiques pour les applications Java avec Swing, RCP et FX - Maîtriser la programmation d'interface utilisateurs type clients lourds pour des applications standards
- Connaître les différentes approches que sont Swing, RCP et JavaFX
- Apprendre à programmer des composants et fenêtres graphiques
- Être capable de créer ses propres composants et personnaliser l'affichage des fenêtres
- Savoir maîtriser l'extension des vues avec Eclipse RCP
- Développeurs et analystes programmeurs "anciennes technologies"
- Chefs de projets
Swing
- Introduction a Swing et positionnement par rapport à AWT et SWT
- Principes de base
- Concepts de Layouts et d'action handlers (gestionnaires d'évènements)
- Les environnements et frameworks Swing les plus populaires
Les Layouts
- Philosophie de redimensionnement des composants graphiques
- Présentation des différents types Layouts
- Créer son propre Layout
Conteneurs et composants
- Fenêtres et boîtes de dialogue
- JMenu, JPanel, JToolBar
- JLabel, JTextField, JTextArea
- JButton, JCheckBox
- JList, JTable, etc
Personnalisation et options avancées
- Créer ses propres composants
- Mécanisme de undo/redo
- L'i18n
- Asynchronisme
Introduction au nouveau JavaFX
- Introduction à JavaFx et positionnement avec Swing
- Principes de base de JavaFx
- Programmer des interfaces utilisateurs de manière déclarative
- Les bonnes pratiques de conception
- Binding des propriétés pour une synchronisation entre présentation et métier
Les composants de JavaFx
- Les contrôles, les graphiques, les transformations
- Les effets et animations pour des pages plus dynamiques
- La classe JavaFX Layout et la mise en page
- Les classes Observer pour la gestion instantanée d'impacts en cas de changements
- Intégrer du son et de la vidéo dans vos interfaces utilisateurs
Introduction à RCP
- Bref historique et exemples d'utilisation
- Architecture : composantes d'une application RCP
- Notion de modularité à base plug-in
- Aperçu sur le PDE
Structure interne
- Runtime et OSGI
- Workbench générique et plug-ins
- Séquence de démarrage
- Les points d'extensions
- SWT et JFace
Workbench4 et publication
- L'interface utilisateur d'Eclipse et le lancement (IApplication)
- Fenêtrage : menu, page, partie, les classes Advisor
- Publication de Plug-in
- UpdateSite et UpdateManager
- Personnalisation des thèmes
Plug-ins
- Notion d'identité
- Configuration (MANIFEST.MF, plugin.xml)
- Cycle de vie d'un plug-in
Contribuer à Workbench
- Les points d'extension
- Les perspectives
- Les vues
- Créer son propre point d'extension
Introduction à SWT
- Les principes de base de SWT
- Structure d'une application SWT
- Composants, contrôles, évènements et threading
- Les Layouts et la gestion des couleurs, fonts et images
- Le pont SWT/AWT
Introduction à JFace
- Notions de vues structurées
- JFace dialogs et Wizards
- Services de sélection
- Pages de préférences
Les vues, commandes et actions
- Introduction au concept de Vue
- Comment créer une vue personnalisée
- Menus, commandes et gestionnaires (Handlers)
- Types d'actions
- Chargement paresseux
- Visibilité et activation
- Les actions et sélections
Les éditeurs et Wizards
- Notion d'Editeur et catégorisation
- Différence entre View et Editeur
- Réaliser un éditeur
- Gestion de l'état d'un éditeur
- Créer un Wizard et une page de Wizard
- Personnaliser un Wizard et contrôler la page de progression
L'aide
- Structure du système d'aide d'Eclipse
- Aide contextuelle
- Aide dynamique
- Aide active
Les plus de cette formation
Conception d'interfaces graphiques pour les applications Java avec Swing, RCP et FX - Un apprentissage orienté pratique des différentes solutions de réalisation d'interfaces utilisateurs pour clients lourds.
- Un comparatif entre les diverses solutions techniques possible : les écrans de l'application fil rouge sont successivement conçus en Swing, JavaFX et SWT.