Téléchargement
illégal
Posez votre question Signaler

JTable cellule éditable et non-éditable

bassou02 7Messages postés 19 décembre 2007Date d'inscription - Dernière réponse le 8 juil. 2010 à 08:51
Bonjour,
Je programme en Java 1.6.
J'aimerais savoir s'il est possible de spécifier les cellules éditables et non éditables dans une JTable.
Par défaut, toutes les cellules sont éditables. Est-ce qu'il est possible de dire que certaines cellules ne peuvent pas être éditées?
Merci
Lire la suite 

JTable cellule éditable et non-éditable »

2 réponses
Réponse
+4
moins plus
Bonjour!

Il faudra créer un TableModel personnalisé, où tu override la fonction isCellEdiatble();


public class MyTableModel extends DefaultTableModel {

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        
        //ici la cellule (1, 2) est non-editable
        if (rowIndex == 1 && columnIndex == 2) return false;
        
        //le reste est editable
        return true;
    }
}



si tu veux qu'une colonne entière soit non editable tu teste uniquement sur l'index de la colonne :
if (columnIndex == 5) return false; //ici la colonne 5 n'est pas éditable.

Voilà, bon code
Ajouter un commentaire
Réponse
+2
moins plus
Encore plus facile si on ne veux pas créer une classe supplémentaire pour diverses raisons:

JTable aTable = new JTable(list,columns) {

public boolean isCellEditable(int row, int column) {

return false;

}

};
Ajouter un commentaire
Ce document intitulé « JTable cellule éditable et non-éditable » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?