Announcement

Collapse
No announcement yet.

JTree customized Darstellung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JTree customized Darstellung

    Hallo,<p>
    ich suche nach einer Möglichkeit, die "Aufklapp-Elemente" eines Trees bei der Darstellung zu unterdruecken. Fuer den Root-Node gibt es ja eine Funktion: setShowRootHandles(bool), aber ich möchte alle Folder nur mit Doppelklick öffnen und die Handles generell nicht darstellen.<p>
    Gibt es ähnlich dem putClientProperty("JTree.lineStyle", "Angled") dafuer UI-Properties, oder ist es eine Funktion, die ich einfach nur nicht finde? Wo gibt es Infos zu den ClientProperties?<p>
    Danke im Voraus,<br>
    Marco

  • #2
    Hallo Marco,<br>
    "JTree.lineStyle" ist meines Wissens nach das einzige client property<br>,
    das man für JTree setzen kann, und das auch nur für Metal L&F!<br>
    Eine JTree-Basis Funktion zur Unterdrückung der Darstellung ALLER<br>
    Handles gibt es leider nicht. Auch nicht in JDK1.4. Da müsstest Du<br>
    wahrscheinlich ein eigenes TreeUI erzeugen.
    <br>
    Klau

    Comment


    • #3
      Hallo zusammen,

      es gibt eine Basisfunktion, aber nicht in JTree sondern in
      DefaultTreeCellRenderer.

      Jeder JTree besitzt einen Defaultrenderer. Den kann man sich holen und dann manipulieren.

      Beispiel:

      JTree tree = new JTree();
      <pre>
      DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer();
      renderer.setOpenIcon(null);
      renderer.setClosedIcon(null);
      renderer.setLeafIcon(null);
      </pre>

      Thoma

      Comment


      • #4
        Danke fuer die schnellen Antworten,<p>
        statt des Default-Renderers verwende ich meinen eigenen, und statt der Open/Closed/Leaf-Icons verwende ich eigene, die wunderbar funktionieren, nur eben ist das Handle nicht in einem der Icons.<p>
        Wenn ich ne Loesung hab, schreib ich sie.<p>
        *wink* Marc

        Comment


        • #5
          Das mit dem Handle ist nicht so schwer. Du mußt nur eine Nodeart verwenden welche Icons speichern kann. Nun kannst du mit Hilfe des TreeRenderes diese Icons aus den gecasteten Knoten wieder auslesen und diese anstelle der Standards darstellen.

          PS: Ich bastle gerade auch an diesem Tree rum..

          mfG Tobias Oelgart

          Comment

          Working...
          X