JTree

Hippopotamus

Grünschnabel
Hallo,
habe ein Problem beim neu anzeigen meines JTrees.
Also ich habe eine JFileChosser Objekt, wo ich eine Datenstruktur auswählen kann, die dann in ein JTree umgewandelt wird und auf einem JPanel angezeigt wird.
Das ist alles kein Problem.
Wenn ich aber eine neue Datei ausgewählt habe und mir anzeigen lassen möchte, bleibt die vorher geladene Baumstruktur im JPanel erhalten. Ich möchte aber das die neue Baumstruktur angezeigt wird.
Kann mir da jemand einen Tipp geben?
Vielen Dank schon mal
 
Moin!
Probiers mal derart:
Code:
yourPanel.remove(theOldTree);
yourPanel.add(theNewTree);
yourPanel.validate();

Wenns net klappt, poste mal den relevanten Quelltext..


*grüssle*
MeinerEiner
 
Also bekomme es nicht hin.
Hier ist der Code für meine jFileChooser
Ich lade die Datei file


Code:
else if(command.equals("Ontologie laden")){
		
		
		
		
		JFileChooser g = new JFileChooser();
		g.setFileFilter( new FileFilter()
		{
		public boolean accept(File f1)
		{
		return f1.isDirectory() || f1.getName().toLowerCase().endsWith(".rdf")
		|| f1.getName().toLowerCase().endsWith(".owl");
		}
		public String getDescription()
		{
		return "*.rdf;*.owl";
		}

		} );
		
		int returnVal1 = g.showOpenDialog( this);
		
		
		
		
		if(returnVal1 == JFileChooser.APPROVE_OPTION){
			
		 	
			anon.setSelectedComponent(ontologie);
			//hier wird die datei geladen
			file = g.getSelectedFile();
			System.out.println(file);
			
			ontologie.setLayout(null);
			jt = new JTreeDemo(file); 
			jt.setBounds(20,20,350, 400);
		    //hier füge ich sie meinem JPanel hinzu
		    ontologie.add(jt);
		    
		    jt1 = new JTreeDemo(file);
		    jt1.setBounds(140, 60, 200, 100);
		   annotation.setLayout(null);
	      annotation.add(jt1);
			}
		}
		}

und dann der Code für meien JTree:
Code:
public class JTreeDemo extends JComponent{
	
	private static final long serialVersionUID = 1L;

	//ein Root Knoten wird erstellt
	 protected static DefaultMutableTreeNode RootNode = new DefaultMutableTreeNode("Root");
	
	 //Das Interface TreeModel: Zugriff auf Knoten im Baum, Änderung bei Pfaden
	 //Registrierung von TreeModelListener
	 protected static DefaultTreeModel TreeModel = new DefaultTreeModel(RootNode);

    // Ein leeres StringArray wird erzeugt
    //und ein Zählvariable ontologyClassCount     
	 private static String ontologyClass[] = new String[2000];
	 private static int ontologyClassCount = 0;
	 
	 //Konstruktor
	public JTreeDemo(File file) {
		
		BorderLayout bl = new BorderLayout();
		setLayout(bl);
	
    	//ein leeres OntModel wird erzeugt
        OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null );
        //einlesen der Rdf-Datei
        InputStream in = null;
        try {
            in = new FileInputStream(file );    
         } catch (FileNotFoundException e) {    	
        	 e.printStackTrace();
        	System.out.println(e.toString());
         }
        m.read( in,"" );
     
        
        //Alle Klassen der Rdf-Datei werden aufgelistet
        Iterator x = m.listClasses();
        if(x.hasNext())
        {
        	showClasses(m);   
        }
         else  {
         	System.out.println("x has no next");
         	}
        
        final JTree jtree = new JTree( RootNode ); 
        setBorder(null);    
        add( new JScrollPane( jtree ), BorderLayout.CENTER ); 
        
     
}//JTreeDemo Ende

hoffe, dass reicht um mein Probelm zu verstehen und zu lösen?
 
Zurück