Devo aggiungere caselle di controllo a un JTree. Un TreeCellRenderer/TreeCellEditor personalizzato sembra l'approccio giusto. Finora ho usato the CheckBoxNodeRenderer approach in this webpage. Funziona OK tranne che per due cose:JTree con caselle di controllo
- ci sono spazi bianchi aggiuntivi sopra + sotto la casella di controllo; Mi piacerebbe tenerlo come un normale JTree.
- Vorrei distinguere tra fare clic sulla casella di controllo stessa (che dovrebbe tentare di attivare la casella di controllo) e fare clic sul testo associato alla casella di controllo (che dovrebbe consentire a un listener di eventi di interpretarlo facendo clic sul nodo dell'albero corrispondente e prendere qualsiasi azione sia appropriata)
c'è un modo per fare queste cose? Ho cercato JTrees con le checkbox, non ho trovato molto. JIDE sembra buono, ma ho bisogno di usare software open source gratuito (GPL non è ok, LGPL è ok) in questo caso. (o crea il mio albero di caselle di controllo)
oh, questa è una buona idea, non ci avevo pensato. –
Ricorda che se copi solo il codice DefaultTreeCellRenderer e sostituisci l'estensione di JLabel con un JPanel, dovrai anche rimuovere molti metodi "sovrascritti per le prestazioni" o avrai un JTree vuoto. –