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 et CellEditor


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 4
    Par défaut JTable et CellEditor
    Bonjour à tous,

    j'ai un petit souci avec l'éditeur de cellule pour une table

    je viens de créer une table et j'ai associé à une colonne un éditeur de type JtextField qui effectue du controle sur les valeurs saisie. jusque là pas de problème.

    lorsque que clic sur la cellule, mon éditeur fonctionne. Par contre, si la cellule entre en mode d'édition parceque j'ai tapé une valeur, ce n'est pas l'éditeur que j'ai appliqué à la colonne, mais l'éditeur par défaut de la table, du moins, c'est ce que je pense car je ne rentre plus dans le code de l'éditeur (traces).

    Est-ce que quelqu'un a déjà eu ce type de comportement ?

    voici un bout du code :

    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
     
    ...
        // Ajout du modèle
        tableModel = new TableOfBasicTypeModel(typeOfElements);
        TableSorter sorter = new TableSorter(tableModel);
        this.setModel(sorter);
        sorter.setTableHeader(this.getTableHeader());
     
        tableRender = new TableOfBasicTypeRenderer();
        for (int i = 0; i < tableModel.getColumnCount(); ++i) {
            TableColumn theCol = this.getColumnModel().getColumn(i);	
            // Ajout du rendu
            theCol.setCellRenderer(tableRender);
     
            // Ajout de l'éditeurs
            theCol.setCellEditor(getTableEditor());
        }
    ...

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 913
    Billets dans le blog
    54
    Par défaut
    ... Toujours eut des problemes en tout genre avec les tables...
    Tu peux associer un editeur a une classe particuliere (Jtable.setDefaultEditor(Class<?> columnClass, TableCellEditor editor) ) , mais il te faut aussi modifier la methode public Class<?> getColumnClass(int columnIndex) de ton TableModel pour retourner le type approprie pour cette colonne.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre averti
    Profil pro
    Architecte IT
    Inscrit en
    Janvier 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Architecte IT

    Informations forums :
    Inscription : Janvier 2006
    Messages : 24
    Par défaut
    Pour l'entrée en édition avec une frappe clavier il y a la propriété autoStartEdit. Essaie de regarder en la mettant à true ou à false si tu as le même comportement.

    table.putClientProperty("JTable.autoStartsEdit", Boolean.TRUE);
    ou
    table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);

    Après avec la JTable et les editor/renderers j'ai eu pas mal de soucis... bon courage.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 4
    Par défaut
    La solution "Jtable.setDefaultEditor(Class<?> columnClass, TableCellEditor editor) " ne change rien au problème.

    La solution "table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);" oblige bien la table à utiliser le bon éditeur, mais du coup, le comportement n'est pas celui attendu pour activer l'édition

    Comment surcharger la méthode qui lance l'auto edition ?

  5. #5
    Membre averti
    Profil pro
    Architecte IT
    Inscrit en
    Janvier 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Architecte IT

    Informations forums :
    Inscription : Janvier 2006
    Messages : 24
    Par défaut
    La méthode qui gère l'autostartedit est la méthode processKeyBinding de la JTable mais je ne sais pas si tu peux résoudre ton problème en la redéfinissant...

  6. #6
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    bonjour, ma douloureuse expérience dans ce domaine m'amène pratiquement toujours à utiliser le DefaultCellEditor...

Discussions similaires

  1. Jtable et CellEditor
    Par Tchoupi34 dans le forum Composants
    Réponses: 0
    Dernier message: 25/08/2010, 12h23
  2. JComboBox JTable CellEditor
    Par DjGonk dans le forum Composants
    Réponses: 1
    Dernier message: 29/05/2007, 18h13
  3. [JTABLE] : CellEditor
    Par Hug0_76 dans le forum Composants
    Réponses: 6
    Dernier message: 06/04/2007, 18h39
  4. String CellEditor pour JTable
    Par noussa_nouha dans le forum Composants
    Réponses: 1
    Dernier message: 29/08/2006, 12h28
  5. [JTable] CellEditor
    Par Solovely dans le forum Composants
    Réponses: 3
    Dernier message: 09/07/2005, 12h07

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