Introduction à Java Swing
  • Bienvenue
  • Les pré-requis
  • Installation de outils et logiciels
  • Historique de Java Swing
  • Notre première fenêtre
  • Challenge 1: Hallo Welt
  • Les classes anonymes
  • Challenge 2: Hallo Anonymous Welt
  • Refactoring
  • Challenge 3: Amélioration de l'application Hallo Anonymous Welt
  • Challenge 4: Spécifier les dimensions à l'initialisation
Application 1: Les coureurs de Jupons
  • Création de l’interface
  • Challenge 5: Le solitaire
  • Le BoxLayout Manager
  • Challenge 6: Le solitaire dans une boîte
  • Rajouter des écouteurs d’évènements: Méthode 1
  • Challenge 7: Le solitaire à l'écoute!
  • Conventions de nommage et Tooltips
  • Rajouter des écouteurs d’évènements: Méthode 2
  • Challenge 8: Le solitaire toujours à l'écoute
  • Rajouter des écouteurs d’évènements: Méthode 3
  • Challenge 9: Le solitaire et son écouteur
  • Rajouter des écouteurs d’évènements: Méthode 4
  • Challenge 10: Le solitaire et lui-même
  • La théorie derrière le système d'écouteurs d'évènements
  • Les boîtes de dialogue avec JOptionPane
  • Labels, Icônes et Images
  • Meilleur emplacement pour les ressources
  • Challenge 11: Parlons Code
  • Effet de rollover sur les boutons
  • Premier Kata
Application 2: Le saviez-vous?
  • Présentation de l'application
  • Création de l'interface: Le BorderLayout
  • Challenge 12: À chacune sa soirée!
  • Création de l'interface: Les Borders et le RootPane
  • Challenge 13: À chacune sa bordure!
  • Création de l'interface: JComponent, Container & Content Pane
  • Challenge 14: À chacune son JComponent!
  • Création de l'interface: JPanel, setContentPane
  • Challenge 15: À chacune son JPanel!
  • Création de l'interface: Les polices
  • Challenge 16: À chacun son style!
  • Polices Sérif vs Sans-Sérif
  • Système de numérotation binaire, décimal, octal, hexadécimal
  • Challenge 17: Un peu de conversion
  • Création de l'interface: Les couleurs (RGB, Hexadécimal)
  • Challenge 18: Quantités de rouge, vert et bleu utilisées
  • Challenge 19: Google à la rescousse
  • Challenge 20: À chacune sa couleur
  • Création de l'interface: Insets, Margin, Padding
  • Challenge 21: À chacune son espace
  • Écouteurs d'évènements
  • Challenge 22: À chacune sa soirée
  • Refactoring: La classe FactStore
  • Challenge 23: Une maison pour tout le monde
  • La classe ColorPalette
  • Challenge 24: À chaque soirée sa couleur
  • Icônes de fenêtre
  • Challenge 25: À chacune son icône
  • Second Kata
Application 3: Calculateur de pourboire
  • Présentation de l'application
  • Création de l'interface: Les méthodes setLocationByPlatform et pack
  • Création de l'interface: Le GridLayout
  • Challenge 26: Calculateur de taxes
  • Création de l'interface: GridBagLayout & GridBagConstraints
  • Le JSlider et ses ticks
  • Création de l'interface: Le GridBagLayout en pratique
  • Challenge 27: Rencontre sous contraintes avec le GridBagLayout!
  • Création de l'interface: Les méthodes setEditable et setFocusable
  • Challenge 28: Des champs de texte spéciaux!
  • Les caprices de la méthode setLocationRelativeTo
  • Rajouter un écouteur d'évènements au slider
  • Challenge 29: Faites glisser le slider!
  • Formater un pourcentage avec NumberFormat
  • Challenge 30: 100% de Merci à NumberFormat
  • Calcul du pourboire et du montant total
  • Challenge 31: Calcul des taxes et du montant total
  • Formater un montant avec NumberFormat
  • Challenge 32: $30 de pourboire à NumberFormat
  • La classe BigDecimal
  • Challenge 33: Stoppons l'hémoragie des pertes de précision
  • Ne jamais faire confiance à l'utilisateur
  • Challenge 34: Les bons comptes font les bons amis
  • Look and Feel
  • Challenge 35: Changer d'apparence comme bon nous semble
  • Challenge 36: Éviter les duplications
  • Troisième Kata
Application 4: Chat Client-Serveur
  • Présentation de l'application
  • Création de l'interface (JTextArea)
  • Création de l'interface (Pack)
  • Création de l'interface (JScrollPane)
  • Conventions de nommage
  • Les threads avec Swing
  • OutputStreamWriter, Writer, OutputStream
  • Rajouter un écouteur d'évènement sur un JTextField