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] Arreter l'édition


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 11
    Par défaut [jTable] Arreter l'édition
    Bonjour

    J'ai un petit probléme avec une jtable, je voudrais pouvoir stopper l'édition d'une case, pas l'interdire mais bien la stopper.

    La solution que j'ai trouvée(elle est pas trés jolie ) est d'essaye d'éditer une case non éditable avec la commande ' Tableur.editCellAt(row,column) '.

    Mais la question que je me pose est comment faire quand toutes les cases sont éditables ?

    [EDIT]

    La solution au probléme est :

    myTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

    Merci à tous

  2. #2
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Qu'est ce que tu entends par "stopper"?...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 11
    Par défaut
    Quand on tape quelque chose dans une cellule, elle passe en mode édition, on ne donc pas récuperer cette valeur, pour la récuperer il faut stopper l'edition, pour cela il faut appuyer sur échappe, sur tab ou aller sur une autre cellule, la perte du focus(du tableau) n'arrete pas l'édition.

    Je voudrais donc arreter le "mode edition" de la cellule.

    J'espére que cela pourra t'aider dans la compréhension de mon probléme

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    A vrai dire, je ne comprends toujours pas...

    Tu l'as dit toi-même, tu peux annuler ta modification en appuyant sur echap ou en changeant de case sans avoir validé son contenu.

    Que veux-tu faire exactement?
    Récupérer le contenu de ta case? => getValueAt(row, col)

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 11
    Par défaut
    Je ne veux pas annuler la modification mais la valider, je doit mal m'expliquer .

    Quand t'on tappe qu'elle que chose dans une cellule, s'il l'on clic en dehors du tableau, la cellule modifier est toujours en mode édition(il y a toujours le curseur de frappe), donc le contenu de la cellule n'est pas validée.

    Ce que je voudrais faire, c'est que lorsque que l'on clic ailleurs que sur le tableau, le contenu de la cellule soit validé.

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Ce qu'il faut, c'est que tu rendes ta JTable, pour cela, il faut que dans ton modèle, tu surcharges la méthode isCellEditable(int row, int column) et que tu renvoies true sur ce que tu veut pouvoir éditer.

    Ensuite, il ne faut pas oublier de surcharger aussi la méthode setValueAt() de ton modèle

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/05/2009, 10h26
  2. [Swing][JTable]Gérer l'édition
    Par Baptiste Wicht dans le forum Composants
    Réponses: 28
    Dernier message: 10/05/2006, 08h32
  3. [JTable] Pb hauteur variable de cellule + édition
    Par AurélienB dans le forum Composants
    Réponses: 3
    Dernier message: 08/02/2006, 15h32
  4. Quel listener pour l'édition d'une JTable?
    Par ®om dans le forum Composants
    Réponses: 4
    Dernier message: 11/05/2005, 21h13
  5. [ JTable] Comment empêcher l'édition
    Par stailer dans le forum Composants
    Réponses: 3
    Dernier message: 28/04/2004, 10h27

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