Bonjour!
J'ai une petite question sur un point que j'ai pas tout à fait saisi :
J'ai une class qui hérite de la classe JFrame pour créer une fenêtre:
Donc voilà, je crée une fenêtre, je l'initialise, et dedans je voudrais mettre un arbre qui serait créé a partir d'une autre classe (TreeView)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public class Viewer extends JFrame { private JPanel westPanel; private JTree tree; /** Creates a new instance of Viewer */ public Viewer() { setSize(640,480); setLayout(new BorderLayout()); setTitle("Viewer"); initComponents(); } public void initComponents() { westPanel = new JPanel(); westPanel.setBackground(Color.BLACK); tree = new JTree(new TreeView(this, sampleTree())); westPanel.add(tree); } /* main */ public static void main(String[] args) { new Viewer().show(); } }
Voici ma classe TreeView :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 JTree jTree = new JTree(new TreeView(this, sampleTree()));
Quand je lance mon programme, j'obtiens ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public class TreeView implements TreeNode { private Viewer viewer; private DefaultMutableTreeNode treeNode; public TreeView (Viewer viewer, DefaultMutableTreeNode treeNode) { super(); this.treeNode = treeNode; this.viewer = viewer; } /* Generate a random tree */ public DefaultMutableTreeNode sampleTree() { DefaultMutableTreeNode root = new DefaultMutableTreeNode("root",true); DefaultMutableTreeNode temp = new DefaultMutableTreeNode("temp"); Random r = new Random(); int i = r.nextInt(5)+2; int j; for (int x = 1; x <= i; x++) { j = r.nextInt(5)+2; temp = root.getFirstLeaf(); for (int y = 1; y <= j; y++) { temp.add(new DefaultMutableTreeNode(x+"."+y)); } } return root; } }
Il m'affiche l'adresse ou je sais pas quoi de l'arbre, et pas l'arbre créé par la méthode sampleTree() !
Ou ais-je faux ? :O
Partager