[JTable] Créer une jTable avec une colonne de checkBox dedans
bonjour,
j'ai vu quelques posts traitant de ce sujet mais je ne m'en sort toujours pas.
je suis en train de développer une application avec une base de données associée...
je voudrais afficher une colonne de données (stockée dans un vecteur) et une colonne avec des jCheckBox.
Pourriez vous m'aider pour la partie jcheckbox que je n'arrive pas à faire...
Autre question quelle est la différence entre TableCellRendrer et les TableCellEditor ?
un ptit bout de code serait le bienvenue
merci d'avance :)
Re: [swing]creer une jTable avec une colonne de checkBox ded
Salut,
Les checkbox s'affichent toutes seules si tu implementes la methode getColumnClass(int col) de ton model.
Un petit exemple de code :
Code:
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 36 37 38 39 40 41 42 43 44 45 46
| public class MyFrame extends JFrame{
public static void main(String[] args) {
MyFrame frame = new MyFrame();
}
public MyFrame(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scrollPane = new JScrollPane(new JTable(new MyModel()));
getContentPane().add(scrollPane);
pack();
show();
}
class MyModel extends AbstractTableModel{
private Object[][] data = new Object[][]{{new Boolean(true), new Boolean(false),new Boolean(true)}};
private String[] colNames = new String[]{"un","deux","trois"};
private Class[] colClass = new Class[]{Boolean.class,Boolean.class,Boolean.class};
public MyModel(){
super();
}
public int getColumnCount() {
return colNames.length;
}
public int getRowCount() {
return data.length;
}
public Object getValueAt(int arg0, int arg1) {
return data[arg0][arg1];
}
public boolean isCellEditable(int arg0, int arg1) {
return true;
}
public Class getColumnClass(int arg0) {
return colClass[arg0];
}
}//:-
}///:- |
Citation:
Autre question quelle est la différence entre TableCellRendrer et les TableCellEditor ?
Un TableCellRenderer est le composant utilise lorsque tu affiche les donnees alors que le TableCellEditor est le composant utilise lorsque tu edites les cellules.
Par exemple, tu peux avoir une JTable qui n'affiche que du texte (le TableCellRenderer peut etre un JTextField ou autre chose) et au moment ou tu edites une cellule apparait une JCombobox (un TableCellEditor) pour choisir un valeur parmi une liste de valeur.
En esperant t'avoir eclaire un peu ... sinon et bien pose des questions :wink:
sylvain_2020