IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTable] Cellule non modifiable


Sujet :

Composants Java

  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut [JTable] Cellule non modifiable
    Salut,

    Je n'arrive pas à modifier une cellule lorsque je la sélectionne.

    Pourquoi ?

    Définition de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    private JTable getTNomsChamps() {
    		if (tNomsChamps == null) {
    			tNomsChamps = new JTable();
    			tNomsChamps.setShowGrid(true);
    			tNomsChamps.setEnabled(true);
    			tNomsChamps.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
    			tNomsChamps.setModel(tmNomsChamps);
    			tNomsChamps.setCellSelectionEnabled(true);
     
    			tcmNomsChamps = tNomsChamps.getColumnModel();
     
    			tcNomsChamps = tcmNomsChamps.getColumn(0);
    			tcNomsChamps.setPreferredWidth(10);
     
    			tcNomsChamps = tcmNomsChamps.getColumn(1);
    			tcNomsChamps.setPreferredWidth(60);
     
    			thNomsChamps = tNomsChamps.getTableHeader();
    			thNomsChamps.setPreferredSize(new Dimension((int) thNomsChamps.getPreferredSize().getWidth(), 25));
     
    			tNomsChamps.setRowHeight(20);
    			tNomsChamps.setVisible(true);
     
     
    		}
    		return tNomsChamps;
    	}
    Définition du modèle de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    public class TMNomsChamps extends AbstractTableModel
    	{
     
    		public int getColumnCount() {
    			return 2;
    		}
     
    		public int getRowCount() {
    			return getVStrChamps().size();
    		}
     
    		public String getColumnName(int col) {
    			return ENTETE_NOMS_CHAMPS[col];
    		}
     
    		public Object getValueAt(int row, int col) {
    			return String.valueOf(((Vector) getVStrChamps().elementAt(row)).elementAt(col));
    		}
     
    		public Class getColumnClass(int c) {
    			return String.class.getClass();
    		}
     
    		public boolean isCellEditable(int row, int col) {
    			return true;
    		}
     
    		public void setValueAt(Object value, int row, int col) {
    			((Vector) getVStrChamps().elementAt(row)).setElementAt(value,col);
    			fireTableCellUpdated(row, col);
    		}
    	}
    Définition des paramètres de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // table noms champs
    	private JTable tNomsChamps = null;
    	private JScrollPane spNomsChamps = null;
    	public final String[] ENTETE_NOMS_CHAMPS = { 
    			"<html><b>" + "NUM" + "</b></html>",
    			"<html><b>" + "NOM" + "</b></html>"
    			};
    	private TMNomsChamps tmNomsChamps = new TMNomsChamps();
    	private JTableHeader thNomsChamps = null;
    	private TableColumn tcNomsChamps = null;
    	private TableColumnModel tcmNomsChamps = null;
     
    	private Vector vStrChamps = null;
    Merci d'avance.

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 137
    Par défaut
    Ton model de table est vide !!!


    Essaie de mettre des données dans ton table modelet je suis sur que tu pourras sélectionner tes cellules

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Non cela ne fonctionne pas.

    A+

  4. #4
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Bnojour, je me trompe peut-être mais je ne vois pas où est ce que tu associe ton JTable à son modèle.

    [/code]

  5. #5
    Membre expérimenté Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Par défaut
    Citation Envoyé par nicotine002
    Bnojour, je me trompe peut-être mais je ne vois pas où est ce que tu associe ton JTable à son modèle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tNomsChamps.setModel(tmNomsChamps);

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/09/2008, 11h28
  2. [swing][JTable]Cellules non modifiables
    Par Pascmar dans le forum Composants
    Réponses: 3
    Dernier message: 21/09/2007, 00h14
  3. Cellules non editables de JTable
    Par adil1251985 dans le forum Composants
    Réponses: 1
    Dernier message: 31/05/2007, 20h13
  4. JTable non modifiable
    Par hatemnafti dans le forum Composants
    Réponses: 5
    Dernier message: 01/11/2006, 08h23
  5. [JTable]cellules non rafraichies
    Par freudy dans le forum Composants
    Réponses: 3
    Dernier message: 02/07/2004, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo