Choix de la police, parmi les polices installées sur le système
Choix du style : normal, gras, italique, gras et italique
Choix de la taille : les tailles possibles sont définies dans un tableau d'entier, mais l'utilisateur peut en spécifier une autre
L'affichage est habituel : une colonne police, une colonne style, une colonne taille, un exemple sous ces trois colonnes puis 'ok' et 'annuler' (voir image jointe).
Le constructeur prend en argument la police à afficher par défaut, et la méthode fontGetter() retourne un objet Font contenant le choix de l'utilisateur.
Attention : la boîte de dialogue n'est pas détruite, mais masquée, à la fin du dialogue.
La classe JPanelImageBg est une extension de JPanel. Elle redéfinit la méthode paintComponent afin de dessiner une Image. On peut choisir dans le constructeur si cette image va être centrée ou dessinée en mosaïque.
Cet exemple utilise un javax.swing.Timer pour représenter un chronomètre simple.
Le lancement et l'arrêt de celui-ci se fait grâce à un JButton.
La classe javax.swing.Timer remplace avantageusement l'utilisation directe de thread. Elle génère un évènement à intervalles réguliers (à la milli-seconde). C'est le "event-dispatching thread" qui exécute l'évènement, donc on peut directement modifier des objets graphiques.
Cet exemple permet de visualiser une arborescence de fichiers grâce à un JTree. Celui ci affiche tous les fichiers et répertoires d'une racine donnée (répertoire). L'application utilise notamment les noms et icones système des fichiers.
Ce code permet de mettre une application en fullscreen et également de changer la résolution de l'écran en choisissant une résolution parmi celles compatibles avec la carte graphique ...
Cette classe permet d'afficher une image comme composant (extension de JPanel). Si l'image est plus petite que l'espace à disposition, elle sera centrée; dans le cas contraire l'image sera zoomée de telle manière à s'adapter et couvrir tout l'espace disponible. Cette classe fonctionne également si l'image se trouve empaquetée dans le même fichier jar que l'application.
Ces classes permettent d'afficher des objets sur un fond. Ces objets peuvent être redimensionnés et déplacés à l'aide de la souris.
IMPORTANT : L'utilisation de ces fichiers se réduit à "exemple_fen.java" et "exemple_obj.java" Il n'est pas indispensable d'étudier les autres classes.
A - Comment tester cet exemple
1 - compilez les fichiers 2 - exécutez "exemplefen.class" 3 - cliquez sur les objets affichés, puis déplacez-les et modifiez l'élastique.
B - Comment créer vos propres objet regardez les 2 fichiers exemples
1 - comme décrit dans "exemple_fen.java", construisez le fond et les objets. 2 - comme décrit dans "exemple_obj.java", créer votre propre objet.
C - description succincte des fichiers
1 - elastique.java Ce sont les 8 points qui entourent l'objet sélectionné et qui permettent de le redimensionner. Cette classe est transparente pour le programmeur
2 - elastiquepoint.java C'est 1 point de l'élastique. Cette classe est transparente pour le programmeur
3 - elastiqueListener.java Interface reconnue par l'élastique. Les objets redimensionnables doivent contenir cette interface : - "implements elastiqueListener" Cette classe est transparente pour le programmeur
4 - elastiqueobjet.java C'est un objet - de type JComponent - qui peut-être déplacé ou redimensionné à l'aide de la souris. Vos objets doivent hériter de cette classe "elsatiqueobjet"
Attention "elastiqueobjet" utilise 2 methodes des événement souris : - "MousePressed()" - "MouseDragged()" Ces 2 méthodes vous sont interdites. "elastiqueobjet" transmet ces événements aux classes filles dans de nouvelles méthodes : - "MousePressedObjet()" - "MouseDraggedObjet()" (voir : exemple_obj.java")
5 - elastiquefond.java C'est le fond sur lequel seront posés les objets.
Attention "elastiquefond" utilise une méthodes événement souris : - "MousePressed()" Cette méthodes vous est interdites. "elastiquefond" transmet cet événement dans une nouvelle méthode : - "MousePressedFond()"
------------------------------ IMPORTANT :
6 - exemple_fen.java Fichier d'exemple, Il montre comment créer un une application qui utilisera l'élastique.
7 - exemple_objet.java Fichier d'exemple. Il présente la façon de construire vos propres objets qui seront redimensionnable.
Utilisation : new JLookAndFeelChooser(aFrame).setVisible(true);
Avantage : Prend en compte tous les look and feels du système -> réagit à l'installation de nouveaux L&F
Inconvénient : certains L&F non officiels sont relativement instables ...