JTable cellule éditable et non-éditable

bassou02 Messages postés 7 Statut Membre -  
 Chepo -
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
Configuration: Windows XP
Firefox 2.0.0.11

2 réponses

  1. rthriller Messages postés 1 Statut Membre 4
     
    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
    4
  2. Chepo
     
    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;

    }

    };
    4