1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

JTree - Blätter werden zu klein angezeigt

  • java-girl
  • 24. Januar 2007 um 15:33
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • java-girl
    Punkte
    2.037
    Beiträge
    357
    • 24. Januar 2007 um 15:33
    • #1

    Hallo allerseits,
    zum besseren Verständnis meines Problems habe ich einen Screenshot angehängt.
    Es ist also folgendes: ich habe diesen JTree, dessen Model ich selbst geschrieben habe.
    Der Baum sieht so aus wie er aussehen soll, es funktioniert alles...
    Allerdings, wenn ich bei den Blättern (nur bei den Blättern, bei der Wurzel funktioniert es!) etwas ändere, ändert sich die Breite des jeweiligen Blattes nicht. Stattdessen sieht es so aus wie auf dem Bild. Selbst wenn ich das Fenster größer ziehe, steht immer noch Martina Hu.... dort.
    Ahja, der Original-Wert in dem Blatt war "Maria Huber". Das wurde noch ganz angezeigt. D.h. also, die Größe ist am Anfang genau richtig, und nach einer Änderung bleibt sie leider gleich!

    Code
    JFrame f = new JFrame("Pedigree");
    Container c = f.getContentPane();
    //treem ist ein Objekt meines selbstgeschriebenen TreeModels
    JTree tree = new JTree(treem);
    tree.setEditable(true);
    c.setLayout(new BorderLayout());
    c.add(new JScrollPane(tree), BorderLayout.CENTER);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.pack();
    f.setVisible(true);

    Wenn ich die ScrollBar weggebe oder versuche, die Preferred Size vom JTree zu setzen, ändert sich nichts.
    Hat jemand von euch eine Ahnung, woran das liegen kann?
    Kann das wirklich an meinem selbstgeschriebenen TreeModel liegen? Ich möchte einstweil mal diesen Code nicht posten, der ist relativ lange...

    Mfg.
    java-girl

  • Paulchen
    Gast
    • 24. Januar 2007 um 16:17
    • #2
    Zitat von java-girl

    Hat jemand von euch eine Ahnung, woran das liegen kann?
    Kann das wirklich an meinem selbstgeschriebenen TreeModel liegen?

    Ich würde sagen, ja. Mit folgender Erstellung von treem funktionierts (bei mir):

    Code
    DefaultMutableTreeNode root=new DefaultMutableTreeNode("Eva Huber");
    root.add(new DefaultMutableTreeNode("Maria Huber"));
    root.add(new DefaultMutableTreeNode("Anna Huber"));
    
    DefaultTreeModel treem=new DefaultTreeModel(root);
  • java-girl
    Punkte
    2.037
    Beiträge
    357
    • 24. Januar 2007 um 19:18
    • #3

    Danke für deine Antwort!
    Aber jetzt bin ich doch noch selbst draufgekommen!
    Folgendes:
    In meinem TreeModel sah es bisher so aus:

    Code
    public void fireChangeEvent(TreeModelEvent evt){
    	for(TreeModelListener l : listeners){
    		l.treeNodeChanged(evt);
    	}
    }

    Jetzt schaut es so aus:

    Code
    public void fireChangeEvent(TreeModelEvent evt){
    	for(TreeModelListener l : listeners){
    		l.treeStructureChanged(evt);
    	}
    }

    Und das geht. :)
    Trotzdem vielen Dank!

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum