Mehrzeiliger TreeNode möglich?

ThirdKeeper

Mitglied
Hallo zusammen!

Ist es möglich in einem JTree bestimmte TreeNode's mehrzeilig darstellen zu lassen?

Den Text mehrzeilig auszugeben ist ja kein problem, z.B. mit:
Code:
...
public String generateMultilineTreeNodeText(String [] treeRow){
   String treeNodeText = "<html>";
   for (int i = 0; i < treeRow.length; i++)
        treeNodeText += treeRow[i]+"<p />";
   treeNodeText += "</html>";
   return treeNodeText;
}
...

Wenn man jetzt den treeNodeText über ein TreeModel in den JTree einfügt,
wird vom Text nur eine Zeilenhöhe sichtbar.

D.h. man sieht z.B. bei einem 2-zeiligen Text die untere Hälfte der ersten Zeile
und die obere Hälfte der unteren Zeile.

Jemand eine Idee? :)
 
Falls jemand etwas ähnliches sucht
(auch wenn es keine perfekte Lösung ist) ;)

Code:
/**
 * @author Lars
 */
public class MultilineTreeNode
        extends DefaultTreeCellRenderer {
    private MyDataModel model;
    public MultilineTreeNode(MyDataModel model) {
        super();
        this.model = model;
        enableInputMethods(false);
        setVerticalAlignment(DefaultTreeCellRenderer.TOP);
    }

    @Override
    public void setText(String text) {
        super.setText(formatTextView(this.model));
    }

    public String formatTextView(MyDataModel model) {
        //Hier aus dem Model ein String erzeugen und diesen mit HTML Tags versehen, z.B.:
        return "<html>"+"<b>"+model.getTitle()+"</b><p />"+model.getXY()+"</html>"
    }
}
 
Zuletzt bearbeitet:
Zurück