Ho creato una mia JTable e vorrei che il testo delle celle sia centrato e non affiancato come al solito...come fare?Grazie.
Ho creato una mia JTable e vorrei che il testo delle celle sia centrato e non affiancato come al solito...come fare?Grazie.
La spiegazione sarebbe lunga .. cerco di farla più corta possibile. JTable fa uso dei "cell renderer", ovvero oggetti che implementano la interfaccia TableCellRenderer.Originariamente inviato da cassiosteel
Ho creato una mia JTable e vorrei che il testo delle celle sia centrato e non affiancato come al solito...come fare?Grazie.
Il table model indica quale è il tipo di oggetto per una certa colonna (getColumnClass() del table model). Ad ognuno dei tipi basilari (es. String, Integer e qualche altro) è associato per default un cell renderer (se ne possono aggiungere altre di associazioni).
Se ci sono 3 colonne che visualizzano tipi Integer, esse avranno lo stesso identico cell renderer (intendo proprio come "identità" dell'oggetto.
Quindi innanzitutto bisogna vedere quali tipi di dato stai gestendo e quale table model stai usando (cioè come hai creato il JTable).
Esempio:
JLabel label = (JLabel) table.getDefaultRenderer (Object.class);
label.setHorizontalAlignment (SwingConstants.CENTER);
Per il tipo Object (il caso più generale, AbstractTableModel e DefaultTableModel per default restituiscono Object.class per tutte le colonne) il cell renderer è a tutti gli effetti una banale JLabel, quindi basta impostarne l'allineamento.