Questo mi sta facendo impazzire.Cambiare il colore della cella JTable
So che, per modificare la formattazione delle celle di tabella con JTable, devo usare il mio riproduttore. Ma non riesco a implementarlo correttamente.
Questa è la mia messa a punto corrente:
public class MyClass
{
public static void main(String args[])
{
JTable myTable = new JTable(10, 10);
myTable.setDefaultRenderer ([I dont know what to put here], new CustomRenderer());
}
}
class CustomRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
// Formatting
return c;
}
}
cosa ho bisogno di utilizzare per il primo parametro di setDefaultRenderer
? L'API dice solo 'classe'. Non ho idea di cosa mettere lì.
Qualcuno potrebbe semplicemente spiegare, nel modo più semplice, come procedo con l'implementazione di questo? Si prega di fornire un esempio di come posso modificare la formattazione anche all'interno del metodo main()
.
Questo non sembra funzionare per me. L'unica cosa che ho fatto è invocare il metodo setDefaultRenderer e creare la classe CustomRenderer. C'è qualcos'altro che devo fare per farlo funzionare? –
Ho funzionato usando Object.class anziché String.class. Non sono sicuro del motivo per cui questo è stato necessario, però, perché tutti i miei dati erano stringhe. Grazie per il vostro aiuto! –
Non sono autorizzato a modificare il renderer all'interno di un listener? Voglio riformattare la tabella quando viene premuto un pulsante. –