1 pièce(s) jointe(s)
Tri colonne Ineger et rendu ligne (renderer)
Bonjour,
j'ai un renderer qui me colorie une ligne sur deux de mon tableau qui fonctionne correctement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
tableau.setDefaultRenderer(Object.class, new TableCellRenderer() {
private final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cel = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (row % 2 == 0) {
cel.setBackground(Color.WHITE);
} else {
cel.setBackground(Color.LIGHT_GRAY);
}
return cel;
}
}); |
Je veux en même temps pouvoir trier en cliquant sur l'en-tête de mes colonnes.
Comme:
Code:
tableau.setAutoCreateRowSorter(true);
ne permet que de trier des String, j'ai overirder getColumnClass
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
@Override
public Class getColumnClass(int columnIndex) {
switch (columnIndex){
case 0:
return String.class;
case 1:
return String.class;
case 2:
return Integer.class;
default:
return String.class;
}
} |
Problème depuis ce tri d'entier qui fonctionne aussi du coup. mes lignes sont toutes de la même couleur dans ma colonne d'entier.
Pièce jointe 463845