Bonjour,
j'ai un renderer qui me colorie une ligne sur deux de mon tableau qui fonctionne correctement.
Je veux en même temps pouvoir trier en cliquant sur l'en-tête de mes colonnes.
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; } });
Comme:
ne permet que de trier des String, j'ai overirder getColumnClass
Code : Sélectionner tout - Visualiser dans une fenêtre à part tableau.setAutoCreateRowSorter(true);
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.
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; } }
![]()
Partager