Colonne éditable dans un jTable

RouRa22 Messages postés 28 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 19 octobre 2009 - 28 nov. 2008 à 13:07
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 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

 public ContactsTableModel(ResultSet rs)
       {
         ResultSets=new ArrayList<Object[]>();    
         try
          {
           while(rs.next())
             {
               if(rs.getString("CONTACTPRINCIPAL").equals("1"))
               {
                Object[] row={
                rs.getString("codecontact"), rs.getString("prenom"),rs.getString("nom"),rs.getString("telephone1"),rs.getString("telephone2"),rs.getString("lienclientcontact"),Boolean.TRUE        
              };
                ResultSets.add(row);
               }
               else
                   {
                Object[] row={
                rs.getString("codecontact"), rs.getString("prenom"),rs.getString("nom"),rs.getString("telephone1"),rs.getString("telephone2"),rs.getString("lienclientcontact"),Boolean.FALSE        
              };
                ResultSets.add(row);
               }
               
             }   
          }
         catch(Exception e)
          {
            System.out.println("Exception in ContactsTableModel");
          }    
      }  

Merci d'avance.

2 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
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...
0
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
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".
0
Rejoignez-nous