12-12 TitledPane

Le TitledPane en JavaFX est un conteneur avec un titre que l'utilisateur peut ouvrir ou fermer pour masquer/afficher le contenu. C'est un composant idéal pour organiser les informations en sections repliables. Chaque TitledPane contient un titre (text) et un contenu (content), qui peut être n'importe quel nœud JavaFX : label, bouton, ou conteneur plus complexe comme GridPane ou VBox.

Pour grouper plusieurs TitledPanes et en laisser ouvrir un seul à la fois, on utilise l'Accordion. L'Accordion gère automatiquement le comportement : si l'utilisateur clique sur un nouveau panneau pour l'ouvrir, le précédent se ferme automatiquement. Cela économise de l'espace à l'écran tout en donnant accès à plusieurs sections de contenu. Pour initialiser un panneau comme ouvert par défaut, il faut utiliser la propriété expanded set à true.

Les TitledPanes sont très utiles pour créer des interfaces compactes avec beaucoup de contenu. Ils permettent aux utilisateurs de voir seulement les sections qui les intéressent sans avoir à scroller sur une très longue page. L'Accordion amplifie cette utilité en gérant plusieurs sections de manière cohérente.

En résumé

TitledPane est un contrôle JavaFX qui crée un panneau avec un titre pouvant être ouvert ou fermé. Dans cette leçon, on apprend à ajouter du contenu (labels) à l'intérieur d'un TitledPane et à le positionner dans une GridPane. On découvre ensuite l'Accordion, un contrôle qui gère plusieurs TitledPane en autorisant seulement l'ouverture d'un seul à la fois, ce qui permet de masquer intelligemment du contenu selon les besoins de l'application. On termine en montrant comment définir un pane comme ouvert par défaut à l'aide de la méthode setExpanded().

Points clés

  • TitledPane : contrôle créant un panneau avec titre, ouvert/fermable par clic utilisateur
  • Placement dans GridPane avec colonnes et lignes pour organiser plusieurs TitledPane
  • Accordion : contrôle gérant plusieurs TitledPane en n'affichant qu'une seule pane ouverte à la fois
  • Les autres panes ferment automatiquement quand une autre s'ouvre dans un Accordion
  • Utiliser setExpanded(true) pour définir une pane ouverte par défaut au chargement de l'interface
  • Intérêt pour l'UX : gagner de l'espace écran en masquant du contenu supplémentaire derrière des panes fermées

Questions fréquentes

Quelle est la différence entre TitledPane seul et Accordion ?

TitledPane est un contrôle individuel ouvrable/fermable. Accordion gère plusieurs TitledPane où une seule peut être ouverte à la fois — les autres se ferment automatiquement. Accordion est parfait pour organiser beaucoup de contenu sans surcharger l'écran.

Comment ouvrir une pane par défaut au démarrage de l'application ?

Utiliser la méthode setExpanded(true) sur le TitledPane voulu. Par exemple : titledPane1.setExpanded(true) rendra cette pane ouverte au chargement de l'interface utilisateur.

Peut-on ajouter n'importe quel contenu dans un TitledPane ?

Oui, un TitledPane peut contenir n'importe quel contrôle ou composant JavaFX (labels, boutons, images, etc.). Dans l'exemple, on ajoute des labels, mais on peut y mettre tout ce qu'on souhaite afficher.