bonjour,
Dans une JTable comment peut on faire pour changer la couleur (background)d'une ligne une fois que celle si a ete selectionee.
bonjour,
Dans une JTable comment peut on faire pour changer la couleur (background)d'une ligne une fois que celle si a ete selectionee.
Oui, c'est possibe, mais pour cela, il va te falloir définir ton propre renderer, ca va te donner quelque chose comme ca :
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
16
17
18
19 public class MyTableCellRenderer extends DefaultTableCellRenderer { public MyTableCellRenderer() { super(); } public Component getTableCellRendererComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(isSelected){ this.setBackground(new Color(r,g,b); }else{ this.setBackground(table.getBackground()); } super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); return this; } }
par defaut la ligne qui a le focus change de couleur. non ?
Oui elle change de couleur, mais tu peut pas paramètrer cette couleur il me semble.Envoyé par bbclone
ben oui tu peut.
par exemple en changeant juste quelques valeurs de ton UIManager si tu veut que c'est pour toute les tables de ton application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 UIManager.put("Table.background", new Color(r, g, b)); UIManager.put("Table.focusCellBackground", new Color(r, g, b)); UIManager.put("Table.focusCellForeground", new Color(r, g, b)); ...
Ok autant pour moi, c'est bon à savoir. Par contre, ma solution reste valable si tu veut que ce soit différent pour chaque JTable.Envoyé par bbclone
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager