13 22 TodoList

Nous savons désormais utiliser les dispositions, les contrôles et les gestionnaires d'événements. Il est temps de rassembler tout cela dans une vraie application utile : une TodoList. Avant de coder, posons quelques limites : pour rester focalisés sur l'apprentissage, nous ne ferons pas une application 100 % « production-ready ». Nous laisserons de côté certaines validations d'entrée, certains edge cases et certaines exceptions. L'objectif est d'apprendre les patterns, pas de livrer un produit fini.

Mise en place de la fenêtre principale

Je crée un nouveau projet JavaFX et je commence par renommer le fichier FXML par défaut en MainWindow.fxml. L'IDE est assez intelligent pour propager le renommage sur le contrôleur lié. Je modifie ensuite la disposition de niveau supérieur en passant de VBox à BorderPane, qui sera plus adapté à notre TodoList. J'ajuste les propriétés hgap, vgap et la classe applicable.

Dans la classe principale de l'application, je change le titre de la fenêtre, je redimensionne la scène (par exemple 900 × 5xx pixels) pour avoir un cadre plus généreux, et je vérifie que tout démarre encore correctement. À ce stade, l'application affiche une fenêtre vide bien dimensionnée.

Ajout de la ListView et du modèle

La première vraie brique métier est une ListView, placée côté gauche (balise <left> du BorderPane). Cette liste affichera plus tard l'ensemble des tâches à faire. Au démarrage, elle apparaît vide.

Il faut maintenant penser au modèle de données. Je crée un nouveau package model et, à l'intérieur, une classe TodoItem qui représentera un élément de la liste. Pour l'instant, elle est vide ; nous lui ajouterons rapidement ses attributs (description courte, détails, date d'échéance) dans la prochaine vidéo.

Les fondations sont posées : une fenêtre BorderPane, une ListView à gauche, et un package model avec une classe TodoItem. Dans la prochaine vidéo, nous donnerons corps à cette classe et nous relierons la liste au modèle pour afficher de vraies tâches. À bientôt.

En résumé

Cette leçon guide la création d'une application TodoList complète en Java/JavaFX. On débute par structurer l'interface utilisateur avec des conteneurs (VBox) et une zone de recherche, puis on intègre un contrôle ListView pour afficher la liste des tâches. L'enseignement couvre aussi la création du modèle de données avec un package "model" contenant les classes pour représenter les éléments de la liste.

Points clés

  • Création d'une application TodoList en tant que projet pratique complet du monde réel
  • Structuration de l'interface utilisateur avec des layouts (VBox) et des contrôles (ListView) en FXML
  • Implémentation du modèle de données avec un package 'model' pour représenter les items de la liste
  • Intégration du contrôle ListView pour afficher et gérer la liste des tâches à faire
  • Configuration du fichier FXML principal et modification des propriétés d'affichage (titre, scrollpane)

Questions fréquentes

Quel composant utilise-t-on pour afficher la liste des tâches?

On utilise un contrôle ListView (liste graphique) qui affiche les éléments de la TodoList dans l'interface utilisateur JavaFX.

Comment est structurée l'architecture de l'application TodoList?

L'application utilise un modèle MVC simplifié: une interface FXML pour la présentation, un package 'model' contenant les classes métier (items), et des gestionnaires d'événements pour l'interaction utilisateur.

Quels conteneurs sont utilisés pour organiser l'interface?

On utilise principalement un VBox (conteneur vertical) pour organiser les éléments de l'interface, avec une barre de recherche en haut et la ListView en dessous.