Ich muss Kontrollkästchen zu einem JTree hinzufügen. Ein benutzerdefinierter TreeCellRenderer/TreeCellEditor scheint der richtige Ansatz zu sein. Bisher habe ich the CheckBoxNodeRenderer approach in this webpage verwendet. Es funktioniert OK bis auf zwei Dinge:JTree mit Kontrollkästchen
- gibt es zusätzliche Leerzeichen über + unter dem Kontrollkästchen; Ich möchte es wie einen normalen JTree behalten.
- Ich möchte unterscheiden zwischen dem Klicken auf das Kontrollkästchen selbst (das sollte versuchen, das Kontrollkästchen zu aktivieren) und Klicken auf den Text mit dem Kontrollkästchen verknüpft (was sollte ein Ereignis Listener dies als Klicken auf den entsprechenden Baum Knoten und zu interpretieren) was auch immer zweckdienlich ist)
Gibt es eine Möglichkeit, diese Dinge zu tun? Ich sah mich nach JTrees mit Checkboxen um, konnte nicht viel finden. JIDE sieht gut aus, aber ich brauche in diesem Fall freie Open-Source-Software (GPL ist nicht ok, LGPL ist in Ordnung). (oder erstellen Sie meine eigene Checkbox-Struktur)
oh, das ist eine gute Idee, daran hatte ich nicht gedacht. –
Wenn Sie nur den DefaultTreeCellRenderer-Code kopieren und die Erweiterung von JLabel durch eine JPanel ersetzen, müssen Sie auch viele der Methoden "overridden for performance" entfernen oder Sie haben einen leeren JTree. –