Salve! Come da titolo, è possibile inserire immagini o componenti (JLabel, JButton, ecc) in una cella di una JTable? Riesco solo ad inserire stringhe, non ho capito proprio come fare per i componenti... Grazie!
Salve! Come da titolo, è possibile inserire immagini o componenti (JLabel, JButton, ecc) in una cella di una JTable? Riesco solo ad inserire stringhe, non ho capito proprio come fare per i componenti... Grazie!
Componenti nelle celle come JButton è possibile ma è più complicato perché comporta la ovvia gestione di una "azione" e quindi non basta avere un apposito "renderer" ma anche un apposito "editor" (avevo fatto un esempio a riguardo nei miei vecchi Java Example su altervista).
Per mettere es. JComboBox è più semplice, grazie a DefaultCellEditor (vedi tutorial ufficiale: Using a Combo Box as an Editor).
Per mettere JCheckBox è anche semplice: è sufficiente che il getColumnClass() del table model fornisca Boolean.class per la colonna scelta e poi il dato gestito da get/setValueAt ovviamente deve essere un Boolean. Esiste infatti già un renderer/editor predefinito associato a Boolean.
Per mettere immagini, anche qui è sufficiente che il getColumnClass() del table model fornisca Icon.class o più specificatamente ImageIcon.class e poi il dato trattato deve essere ovviamente una implementazione di Icon (generalmente ImageIcon).
In questi ultimi due casi, ovviamente bisogna vedere quale table model hai usato e se hai controllo sul getColumnClass.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet