~ / M1 / TLI / tps / 2-player-layout /
© 2007—2018 - Renaud Blanch
Le but de ce TD est de mettre en pratique vos connaissances sur les gestionnaires de géométrie de la boîte à outils JavaFX. Vous allez réaliser une maquette de l'interface utilisateur d'un lecteur multi-média (i.e., vous ne réaliserez que l'interface utilisateur et non le noyau fonctionnel).
Les deux images ci-dessous vous fournissent des exemples de l'interface de commande d'un lecteur multimédia (celle de VLC sous Mac OS X) pour différentes tailles. Quand l'utilisateur essaie de la redimensionner, elle garde sa hauteur, mais sa largeur varie effectivement. Les différents interacteurs s'adaptent à cette nouvelle largeur.
Dans la mesure de ce que permet le jeu de composant interactifs de JavaFX (Label, Button, Slider, etc.), reproduisez cette interface sans vous soucier de l'aspect graphique en utilisant les gestionnaires de géométrie simples (par exemple, BorderPane, Hbox et Vbox) et la hiérarchie des conteneurs. Votre réalisation pourra ressembler à l'image ci-dessous.
Lorsqu'on appuie sur le bouton situé en bas à droite de l'interface (qui devient alors bleu), un panneau supplémentaire comportant la liste de lecture apparaît comme illustré ci-dessous (cf. TreeTableView, TextField). Un nouveau clic sur ce bouton fait disparaître la liste de lecture (cf. ToggleButton). Lorsque la liste est affichée, le redimensionnement vertical doit être possible et l'interface doit garder une hauteur minimale garantissant à la liste d'être toujours visible. Réalisez ce comportement.
Enfin, lorsque la liste de lecture est affichée, si l'utilisateur redimensionne la fenêtre avec une hauteur inférieure à un seuil (e.g. 200 pixels), cela doit fermer la liste (cf. ChangeListener sur la propriété height
de la fenêtre).
mise à jour : novembre 2017