Frage

Ich habe einen Baumknoten. Ich möchte, dass ein Bild neben dem Knotennamen angezeigt wird, wenn der Baum angezeigt wird. Wie gehe ich vor?

War es hilfreich?

Lösung

  1. Erstellen Sie ein Imageicon aus Ihrem Bild

    ImageCon -Icon = ....; (Es gibt eine Reihe von Möglichkeiten, dies zu tun)

  2. Erstellen Sie eine Instanz von DefaultTreeCellRendererer

    DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer ();

  3. Stellen Sie das Blatt -Symbolfeld des Renderers ein

    Renderer.setLeaficon (Icon);

  4. Stellen Sie den Renderer des Baumes ein

    Tree.SetCellRenderer (Renderer);

Wenn Sie es nicht herausfinden können, versuchen Sie es mit der Demo

Andere Tipps

Sie können einen benutzerdefinierten Blattrenderer verwenden. Überschreiben Sie die Methode von GetTreeCellRendererComponent ().

Wenn Sie eine Komponente rendern.

Verwenden Sie ein Panel und geben Sie den Text und das Symbol für den Text an.

Und geben Sie dann die Komponente zurück.

public Component getTreeCellRendererComponent(JTree tree, Object value,
        boolean selected, boolean expanded, boolean leaf, int row,
        boolean hasFocus) {


    JLabel l = (JLabel)renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);
    Component com = renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);
    l.setIcon(YOUR_IMAGE);
    l.setText(value.toString());



        panel.removeAll();
        panel.add(this, BorderLayout.EAST);
        panel.add(j);
        return panel;



}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top