Bonjour,
Me revoilà avec mes JTables
Alors tout d'abord merci encore une fois à tous ceux qui m'ont aidé dans mon post précédent et donc je suis de nouveau embêté pour un autre problème.
Alors voilà, j'ai mes 2 JTables avec la première ligne sur chacune d'elle qui est fixe (en plus du titre), sur toutes les autres lignes j'aurais des informations que je récupère d'une base de données.
Le souci c'est que sur la première ligne de ma JTable "mobile" (cf. post précédent), je dois mettre des JCheckBox. J'ai essayé en implémentant une classe BooleanCellRenderer qui hérite de DefaultTableCellRenderer.
Enfin j'ai pas mal bidouillé avec cette classe je vous montre mon code :
Donc j'ai pas mal bidouillé autour de cette classe mais rien n'y fait, et le problème avec la méthode getColumnClass() dans ma classe héritant de la classe AbstractTableModel c'est justement qu'elle ne prend en compte que les colonnes, or moi je souhaite travailler par ligne.
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package test; import java.awt.Component; import javax.swing.JCheckBox; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; public class BooleanCellRenderer extends DefaultTableCellRenderer { private JCheckBox _checkBox; public BooleanCellRenderer() { super(); _checkBox = new JCheckBox(); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (value.toString().equals(Boolean.toString(Boolean.TRUE))) return _checkBox; //if (value.toString() == "false") return _checkBox; else return this; } }
En vous remerciant d'avance.
PS : Lorsque je debug mon appli, cela ne passe même pas dans le code que j'ai implémenté !
Partager