JTree colocar nomes

8 respostas
D

Olá Pessoal !

Estou desenvolvendo uma aplicação, que grava as telas que ele gera em xml. Na lateral tenho um JTree, que mostra as telas do projeto, gostaria de abrir os arquivos desse diretorio e color os nomes desses arquivos no JTree, alguém tem alguma dica de como ao abrir o arquivo o Jtree pegar esses nomes do diretorio ??

Valeu, qualquer dica é importante

8 Respostas

D

Ai pessoal alguém já deve ter feito algo parecido com JTree, aguardo uma ajuda,

Valeuuuuu

ViniGodoy


http://download.oracle.com/javase/tutorial/uiswing/components/tree.html

D

Valeu Vini, eu tinha achado esse exemplo e compilei ele.

Mas queria saber como faço para quer os nomes do arquivo que terei no diretorio fique no JTree, eu queria que ele lesse os nomes dos arquivos que terei em determinada pasta, e cada arquivo fosse uma ramificaçao.

Para entender melhor meu software gera telas, ai essas telas salvo e abro em xml de um determinado diretorio que salvo, eu queria que ao abrir, o JTree pega-se o nome dos arquivos desse diretorio,

Valeu

Diogo

ViniGodoy


http://www.exampledepot.com/egs/java.io/GetFiles.html

http://java.sun.com/products/jfc/tsc/articles/treetable1/
http://java.sun.com/products/jfc/tsc/articles/treetable2/index.html

D

Valeu Vini, vou ler, acho que é isso que preciso, você já implantou algo parecido ??

Valeu

Diogo

D

e ai Vini, blz, estou aqui novamente, a classe abaixo

botei ela para rodar mas só aparece uma tela em branco

O que tenho que mudar no código

Valeu

Diogo

D

Galera, alguém sabe por que esse exemplo chama o FRAME em branco ??

import javax.swing.*;
import javax.swing.tree.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import java.io.*;

public class SimpleTree extends JPanel {
  JTree tree;
  DefaultMutableTreeNode root;
  public SimpleTree() {
    root = new DefaultMutableTreeNode("root", true);
    getList(root, new File("c:/temp"));
    setLayout(new BorderLayout());
    tree = new JTree(root);
    tree.setRootVisible(false);
    add(new JScrollPane((JTree)tree),"Center");
    }

  public Dimension getPreferredSize(){
    return new Dimension(200, 120);
    }

  public void getList(DefaultMutableTreeNode node, File f) {
     if(!f.isDirectory()) {
         // We keep only JAVA source file for display in this HowTo
         if (f.getName().endsWith("java")) {
            System.out.println("FILE  -  " + f.getName());
            DefaultMutableTreeNode child = new DefaultMutableTreeNode(f);
            node.add(child);
            }
         }
     else {
         System.out.println("DIRECTORY  -  " + f.getName());
         DefaultMutableTreeNode child = new DefaultMutableTreeNode(f);
         node.add(child);
         File fList[] = f.listFiles();
         for(int i = 0; i  < fList.length; i++)
             getList(child, fList[i]);
         }
    }
  
  public static void main(String s[]){
    MyJFrame frame = new MyJFrame("Directory explorer");
    }
  }

class WindowCloser extends WindowAdapter {
  public void windowClosing(WindowEvent e) {
    Window win = e.getWindow();
    win.setVisible(false);
    System.exit(0);
    }
  }

class MyJFrame extends JFrame {
  JButton b1, b2, b3;
  SimpleTree panel;
  MyJFrame(String s) {
    super(s);
    panel = new SimpleTree();
    getContentPane().add(panel,"Center");
    setSize(300,300);
    setVisible(true);
    setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowCloser());
    }

}
D

Balera esse código eu consigo somente ler o diretorio para o JTree, na verdade queria ler o diretorio na raiz e nas ramificações os arquivos que estão nessa pasta.

O código é esse

package simpletree;

import javax.swing.*;
import javax.swing.tree.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import java.io.*;

public class SimpleTree extends JPanel {
  JTree tree;
  DefaultMutableTreeNode root;
  public SimpleTree() {
    root = new DefaultMutableTreeNode("root", true);
    getList(root, new File("e:/fonts"));
    setLayout(new BorderLayout());
    tree = new JTree(root);
    tree.setRootVisible(false);
    add(new JScrollPane((JTree)tree),"Center");
    }

  public Dimension getPreferredSize(){
    return new Dimension(200, 120);
    }

  public void getList(DefaultMutableTreeNode node, File f) {
     if(!f.isDirectory()) {
         // We keep only JAVA source file for display in this HowTo
         if (f.getName().endsWith("java")) {
            System.out.println("FILE  -  " + f.getName());
            DefaultMutableTreeNode child = new DefaultMutableTreeNode(f);
            node.add(child);
            }
         }
     else {
         System.out.println("DIRECTORY  -  " + f.getName());
         DefaultMutableTreeNode child = new DefaultMutableTreeNode(f);
         node.add(child);
         File fList[] = f.listFiles();
         for(int i = 0; i  < fList.length; i++)
             getList(child, fList[i]);
         }
    }

  public static void main(String s[]){
    MyJFrame frame = new MyJFrame("Directory explorer");
    }
  }

class WindowCloser extends WindowAdapter {
  public void windowClosing(WindowEvent e) {
    Window win = e.getWindow();
    win.setVisible(false);
    System.exit(0);
    }
  }

class MyJFrame extends JFrame {
  JButton b1, b2, b3;
  SimpleTree panel;
  MyJFrame(String s) {
    super(s);
    panel = new SimpleTree();
    this.getContentPane().add(panel,"Center");
    this.setSize(300,300);
    this.setVisible(true);
    setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowCloser());
    }

}
Criado 2 de fevereiro de 2011
Ultima resposta 3 de fev. de 2011
Respostas 8
Participantes 2