Bonjour,

j'ai un renderer qui me colorie une ligne sur deux de mon tableau qui fonctionne correctement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
tableau.setAutoCreateRowSorter(true);
ne permet que de trier des String, j'ai overirder getColumnClass
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.

Nom : Capture1.PNG
Affichages : 95
Taille : 3,2 Ko