jtable, combobox dans une cellule
mon problème : dans une table j'affiche une adresse, un champ par ligne,
colonne 1 nom du champ, colonne 2 valeur du champ,
et quand je clique sur la ligne 3, colonne 2 je veux voir proposé un combobox
pour mettre à ma table un combobx dans une cellule seulement
je fais ça qui sent un peu la bidouille...
avez-vous mieux que ces successives modifications de l'éditeur ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
private void jXTable1MouseClicked(java.awt.event.MouseEvent evt) {
int nucol = 0, nuli =0;
nucol = jXTable1.getSelectedColumn();
nuli = jXTable1.getSelectedRow();
if (nuli == 3 && nucol == 2 {
comboSurTable(); // seulemenmt pour la cellule 3/2
}
}
private void comboSurTable() {
TableColumn tc = jXTable1.getColumnModel().getColumn(2); // la colonne visée
tc.setCellEditor(new DefaultCellEditor(jComboBox1)); // y coller un combobox
}
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
TableColumn tc = jXTable1.getColumnModel().getColumn(2); // à la moindre action sur le combobx
tc.setCellEditor(jXTable1.getDefaultEditor(tc.getClass())); // remettre la colonne 2 normale
} |
Merci pour vos réponses