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] Déplacer le focus et l'édition d'une cellule


Sujet :

Composants Java

  1. #1
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut [JTable] Déplacer le focus et l'édition d'une cellule
    Bonjour,
    Je soufre pas mal sur mes JTables. Je n'ai pas eu de problèmes avec les editors, renderer et compagnie, mais j'ai l'impression de ne rien comprendre au mécanisme à partir du moment ou un utilisateur édite une cellule.

    Ma JTabel est un bulletin de note pour prof, et lorsqu'il valide une note en appuyant sur "ENTER", je veux qu'il puisse éditer la cellule suivante.

    J'ai essayer d'insérer dans la fonction setValueAt() du model un editCellAt(row+1,col), mais j'obtiens un stackOverFlow. La fonction boucle.

    Chose bizarre, dans le modèle de base de swing, lorsqu'on appuye sur Tab,, shift+tab ou les flèches, on a exactement le comportement que je souhaite. Comment rétablir ce comportement ? Est-ce que j'ai grand interet à utiliser un DefaultCellEditor ?

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Ma table devient trop complexe et Swing ramouille d'un quart de seconde en trop.
    La solution est donc SwingUtilities :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (this.row<bulletin.getRowCount()-1)
                        SwingUtilities.invokeLater(new Runnable() {
                            public void run() {
                                bulletin.editCellAt(row+1, col);
                            }
                        });
    Ainsi l'édition se fait bien où je veux, mais une fois que la table a bien tout rafraichit à la suite du setValueAt() générée par la fin de l'édition de la cellule

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/05/2009, 10h26
  2. [JTable] Popup pour l'édition d'une cellule
    Par gids01 dans le forum Composants
    Réponses: 2
    Dernier message: 14/04/2008, 14h51
  3. JTable : édition d'une cellule de type Date
    Par SheikYerbouti dans le forum Composants
    Réponses: 5
    Dernier message: 08/12/2007, 08h50
  4. JTable déplacer le focus
    Par Lady dans le forum Composants
    Réponses: 4
    Dernier message: 21/11/2007, 11h00
  5. [JTable]Définir à tout moment le background d'une cellule
    Par krolineeee dans le forum Composants
    Réponses: 10
    Dernier message: 11/09/2006, 17h35

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