cs_bygui
Messages postés51Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention16 juin 2008
-
14 avril 2006 à 14:12
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
14 avril 2006 à 16:55
Bonjour,
Voila sur le net j'ai trouvé un explorateur de repertoire très convenable pour mon application mais il presente un gros problème.
En effet, il enregistre les noms de tous les fichiers du repertoire courant mais aussi des sous repertoires...
Comme je veux l'appliquer à la racine du disque, même si j'ai mis un filtre pour selectionner qu'un type de fichier, sa rame....
pourriez-vous me dire se qu'il faut modifier:
<HR>
public class FileTree extends JPanel {
private static final long serialVersionUID = 1L;
/** Construct a FileTree */
public FileTree(File dir) {
setLayout(new BorderLayout());
// Make a tree list with all the nodes, and make it a JTree
JTree tree = new JTree(addNodes(null, dir));
// Add a listener
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e
.getPath().getLastPathComponent();
System.out.println("You selected " + node);
}
});
// Lastly, put the JTree into a JScrollPane.
JScrollPane scrollpane = new JScrollPane();
scrollpane.getViewport().add(tree);
add(BorderLayout.CENTER, scrollpane);
}
/** Add nodes from under "dir" into curTop. Highly recursive. */
DefaultMutableTreeNode addNodes(DefaultMutableTreeNode curTop, File dir) {
String curPath = dir.getPath();
DefaultMutableTreeNode curDir = new DefaultMutableTreeNode(curPath);
if (curTop != null) { // should only be null at root
curTop.add(curDir);
}
Vector ol = new Vector();
String[] tmp = dir.list();
for (int i = 0; i < tmp.length; i++)
ol.addElement(tmp[i]);
Collections.sort(ol, String.CASE_INSENSITIVE_ORDER);
File f;
Vector files = new Vector();
// Make two passes, one for Dirs and one for Files. This is #1.
for (int i = 0; i < ol.size(); i++) {
String thisObject = (String) ol.elementAt(i);
String newPath = null;
if (curPath.equals("."))
//newPath = thisObject;
System.out.println("a");
else
newPath = curPath + File.separator + thisObject;
if ((f = new File(newPath)).isDirectory())
addNodes(curDir, f);
else {
if (newPath.endsWith(".txt")) {
files.addElement(thisObject);
System.out.println(thisObject);}
cs_bygui
Messages postés51Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention16 juin 2008 14 avril 2006 à 16:38
Bon bin je vais me donner tous seul la reponse:
Regarde dans les codes fournis par le site, il y a un exemple qui est exactement se que tu ve faire....