Re bonjour tout le monde.
J'ai changer complètement ma classe car elle générer beaucoup d'erreur.
Quand depuis mon main, je fais un
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {}
avec à l'intérieur un code simple tel que
1 2 3 4 5 6
|
ObjTree obj = new ObjTree();
obj.addNode("Test", null);
DefaultMutableTreeNode T = obj.addNode("Essai", null);
obj.addNode("Tests & essais", T); |
rien ne s'affiche dans mon jTree.
Je soupçonne tout d'abord ma classe de mal gérer le truc mais quand j'initialise le programme avec ceci:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
//Initialisation des carractéristiques de la form
private void initForm() {
//Change l'icône de l'application
String pathIcon = "../Icone 32x32/img_01.png";
this.setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getResource(pathIcon)));
//Change le titre de l'application
this.setTitle(titleAppli());
//Crée une instance de ObjTree()
ObjTree obj = new ObjTree();
//Affecte au jSplitPane2, un objet JTree()
jSplitPane2.setLeftComponent(obj.createJTree());
obj.addNode("Test", null);
DefaultMutableTreeNode T = obj.addNode("Essai", null);
obj.addNode("Tests & essais", T);
} |
Et bien ça marche.
Je ne voie pas pourquoi il ne veut pas afficher quand c'est un bouton.
Idem quand je fait la recherche depuis un File au travers de ma classe.
Depuis le main je fais
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
/*
* Bouton du menu Fichier -> Créer -> Dossier Rpg
*/
//Crée une instance de ObjFileChooser
ObjFileChooser objChooser = new ObjFileChooser();
//Crée l'objet JFileChooser
objChooser.createJFileChosser();
//Créer une instance ObjTree
ObjTree objTree = new ObjTree();
objTree.affFileTree(objChooser.getActionJFileChooser());
} |
Rien ne s'affiche !
Voila ce que j'ai fait dans ma classe.
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
package appliClasses;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import java.awt.Dimension;
import java.io.File;
public class ObjTree {
/*
* Méthode : Fonction
* Action : Créer un JTree
* Reçois : Rien
*/
public JScrollPane createJTree() {
//Affiche un JTree() manitulable (Handle)
myTree.setShowsRootHandles(true);
//Modifie les caractéristiques du JScrollPane
myScrollPane.setPreferredSize(new Dimension(100, 100));
//Affiche dans le JScrollPane le JTree
myScrollPane.setViewportView(myTree);
//return myTree;
return myScrollPane;
}
/*
* Méthode : Fonction
* Action : Ajouter un noeud
* Reçois : Un nom de noeud et le nom d'u noeud parent
*/
public DefaultMutableTreeNode addNode(String nameNode, DefaultMutableTreeNode parentNode) {
//Crée une instance de DefaultMutableTreeNode
DefaultMutableTreeNode node = new DefaultMutableTreeNode(nameNode);
if(parentNode == null) {
((DefaultMutableTreeNode)myTree.getModel().getRoot()).add(node);
}
else {
parentNode.add(node);
}
return node;
}
/*
* Méthode : Fonction
* Action : Afficher le contenu d'un répertoire dans un JTree
* Reçois : Un File()
*/
public void affFileTree(File fileSelected) {
//Tant qu'il reste des fichier ou dossier à afficher
for(int i = 0; i < fileSelected.listFiles().length; i++) {
addNode(fileSelected.listFiles()[i].getName(), null);
}
myTree.expandRow(0);
}
/*
* Les champs de la classe
*/
private final JScrollPane myScrollPane = new JScrollPane();
private final JTree myTree = new JTree(new DefaultTreeModel(new DefaultMutableTreeNode("Rpg")));
} |
J'aimerais comprendre ce qui ne va pas !
Partager