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.
1 - 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
2 - Les Layouts
- Philosophie de redimensionnement des composants graphiques
- Présentation des différents types Layouts
- Créer son propre Layout
3 - Conteneurs et composants
- Fenêtres et boîtes de dialogue
- JMenu, JPanel, JToolBar
- JLabel, JTextField, JTextArea
- JButton, JCheckBox
- JList, JTable, etc
4 - Personnalisation et options avancées
- Créer ses propres composants
- Mécanisme de undo/redo
- L'i18n
- Asynchronisme
5 - 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
6 - 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
7 - 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
8 - Structure interne
- Runtime et OSGI
- Workbench générique et plug-ins
- Séquence de démarrage
- Les points d'extensions
- SWT et JFace
9 - 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
10 - Plug-ins
- Notion d'identité
- Configuration (MANIFEST.MF, plugin.xml)
- Cycle de vie d'un plug-in
11 - Contribuer à Workbench
- Les points d'extension
- Les perspectives
- Les vues
- Créer son propre point d'extension
12 - 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
13 - Introduction à JFace
- Notions de vues structurées
- JFace dialogs et Wizards
- Services de sélection
- Pages de préférences
14 - 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
15 - 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
16 - L'aide
- Structure du système d'aide d'Eclipse
- Aide contextuelle
- Aide dynamique
- Aide active