~ / TIS3 / AL / tps / player-layout /

Gestion de la géométrie avec Java/Swing

© 2010—2018 - Renaud Blanch

Le but de ce TP est de mettre en pratique vos connaissances sur les gestionnaires de géométrie. Vous allez réaliser une maquette de lecteur multi-média (i.e., vous ne réaliserez que l'interface utilisateur et non le noyau fonctionnel).

Lecteur

Les images ci-dessous vous fournissent un exemple de l'interface de commande d'un lecteur multimédia (celle de VLC sous Mac OS X) pour deux tailles de fenêtre.

Dans la mesure de ce que permet le jeu de composant interactifs de SWING (JButton, JSlider, etc.), reproduisez cette interface sans vous soucier de l'aspect graphique en utilisant les gestionnaires de géométrie simples (BorderLayout, FlowLayout, et BoxLayout) et la hiérarchie des conteneurs.

Quand l'utilisateur essaie de la redimensionner, l'interface garde sa hauteur (100 pixels), mais sa largeur varie effectivement tout en conservant une largeur minimum (e.g. 700 pixels). Modifiez votre réalisation pour qu'elle se comporte de cette manière quand elle est redimensionnée (ComponentListener).

Liste de lecture

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. Lorsque l'on reclique sur ce bouton, la liste de lecture disparaît, et la fenêtre retrouve sa taille initiale. Réalisez ce comportement. Pour la liste de lecture, utilisez une JTable (voir le tutorial sur l'utilisation des JTable).

Faites en sorte que lorsque la liste de lecture apparaît, on puisse la faire disparaître si on redimensionne la fenêtre en passant sous un certain seuil pour sa hauteur (par exemple 200 pixels).

mise à jour : 30 mars 2018