Un premier exemple
Contenu
Rendu
Ecouteurs
Parcours
Un deuxième exemple
JTree
« Description hiérarchique de données
« Sept autre classes utilisées
#TreeModel: contient les données figurant dans l’arbre
#TreeNode: implémentation des noeuds et de la structure d’arbre
#TreeSelectionModel: contient le ou les noeuds sélectionnés
#TreePath: un tel objet contient un chemin (de la racine vers le sommet sélectionné
par exemple)
#TreeCellRenderer: est appelé pour dessiner un noeud
#TreeCellEditor: l’éditeur pour un noeud est éditable
#TreeUI: look-and-feel
Arbres
« JTreefournit une vue du modèle
« Le modèle d’arbre est en deux étapes:
« Le modèle des noeuds est en trois étages:
« Constructeurs
#une feuille
$peut recevoir des fils ?
$reste sans fils ?
interface TreeModel
class DefaultTreeModel implements TreeModel
JTree()
JTree(TreeNode racine)
JTree(TreeNode racine, boolean enfantsPermis)
JTree(TreeModel modele)
JTree(TreeModel modele, boolean enfantsPermis)
interface TreeNode
interface MutableTreeNode extends TreeNode
class DefaultMutableTreeNode implements MutableTreeNode
Exemple
class Arbre extends JPanel {
JTree tree;
public Arbre() {
DefaultMutableTreeNode top, noeud, fils, n;
top = new DefaultMutableTreeNode(« Top »);
tree = new JTree(top);
noeud = new DefaultMutableTreeNode(« Repertoire 1 »);
top.add(noeud);
n = new DefaultMutableTreeNode(« 1a »); noeud.add(n);
n = new DefaultMutableTreeNode(« 1b »); noeud.add(n);
…
noeud = new DefaultMutableTreeNode(« Repertoire 2 »);
top.add(noeud);
n = new DefaultMutableTreeNode(« 2a »); noeud.add(n);
….
fils = new DefaultMutableTreeNode(« 2d »); noeud.add(fils);
n = new DefaultMutableTreeNode(« 3a »); fils.add(n);
}
…
Contenu
« Le contenu d’un noeud est appelé user object
« C’est un objet
« A l’affichage, la méthode toString()d’un noeud
délègue à la méthode toString()du contenu.
Les éléments d’interfaces graphiques de l’AWT (108 Ko) (Cours PDF)