RouRa22
Messages postés28Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention19 octobre 2009
-
28 nov. 2008 à 13:07
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 2012
-
7 déc. 2008 à 09:04
je suis en train de développer une application java avec Netbeans et Swing. Je veux insérer une colonne éditable et qui est remplie à partis de la base de données de type jcheckBox dans un jTable, ça va c'est fait.
Lors de l'execution de l'application la colonne n'est pas éditable.
Malgré que dans la propriété du jTable model j'ai coché la cellule pour la rendre éditable?
Voici mon code ds la classe ContactsTableModel
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 20108 28 nov. 2008 à 15:28
Salut,
Et est ce que tu te serais pas trompé en rendant le(s) cellulles que tu voulais éditable?
Genre au lieu de mettre la case de la ligne 3 et colonne 4 éditable tu aurais changé pour une autre?
Est ce que dans toute ta JTable il n'y a aucune cellulle editable?
Tu as réécris toi même une classe extends AbstractTableModel?
<hr width="100%" size="2" />
C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 7 déc. 2008 à 09:04
> Malgré que dans la propriété du jTable model j'ai coché la cellule pour la rendre éditable?
Dans l'éditeur visuel de NetBeans nous ne pouvons pas adapter notre classe personalisée. Nous sommes obligé de faire tous manuellement dans notre classe. Voici un exemple pour une classe qui hérite d'AbstractTableModel :
@Override
public boolean isCellEditable(final int row, final int column) {
if (column < 2) {
return false;
} else {
return true;
}
}
@Override
public void setValueAt(final Object value, final int row, final int column) {
resultSets.get(row)[column] = value;
fireTableCellUpdated(row, column);
}
Dans "isCellEditable" nous retournons "true" pour les indices des colonnes éditables. Dans "setValueAt" nous faisons la mise à jour de nos données et nous appelons "fireTableCellUpdated".