Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Immagine o componente in una cella di JTable

    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!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da elpulga93 Visualizza il messaggio
    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.