Cela me rend absolument fou.Changement de couleur de cellule JTable
Je sais que, pour changer la mise en forme des cellules de tableau avec JTable, je dois utiliser mon propre moteur de rendu. Mais je n'arrive pas à l'appliquer correctement.
Voici ma configuration actuelle:
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;
}
}
Que dois-je utiliser pour le premier paramètre de setDefaultRenderer
? L'API dit juste "class". Je n'ai aucune idée de ce qu'il faut mettre là.
Quelqu'un pourrait-il expliquer, dans les termes les plus simples, comment je vais mettre en œuvre cela? Veuillez fournir un exemple de comment modifier la mise en forme à l'intérieur de la méthode main()
.
Cela ne semble pas fonctionner pour moi. La seule chose que j'ai faite est d'invoquer la méthode setDefaultRenderer et de créer la classe CustomRenderer. Y a-t-il autre chose que je dois faire pour que cela fonctionne? –
Je l'ai fait en utilisant Object.class au lieu de String.class. Je ne sais pas pourquoi cela était nécessaire, car toutes mes données étaient des chaînes. Nous vous remercions de votre aide! –
Est-ce que je ne suis pas autorisé à changer le moteur de rendu dans un écouteur? Je veux re-formater la table quand un bouton est pressé. –