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 :

mise à jour d'une JTable ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut mise à jour d'une JTable ?
    Bonjour à tous,

    J'ai une belle JTable qui contient les résultats d'une requête. Malheureusement, je n'arrive pas à modifier la table, cad à faire comprendre à la table que son contenu a changé
    La page chez SUN sur les mises à jour de JTables n'étant pas très explicite, je m'en remets à vous.
    Merci pour toutes les suggestions.

    Amicalement

    Sakalam

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Et si utilises les méthodes fireXXX du model lié à ta table, ça donne quoi ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    pour ce que ca vaut, d'habitude je pose les questions

    essaie : table.repaint();

    chez moi ca a marché

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut
    Je suis obligé d'avoir un modèle ?

    En fait, j'ai juste utilisé les initialisations suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tableResult = new JTable(data, columnNames);
    displayPanel = new JScrollPane(tableResult);
    et je voulais savoir s'il n'y avait pas de moyen simple pour notifier le changement de contenu et réafficher les nouveaux résultats...

    S.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    est-ce que le repaint marche ?

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut
    Merci pour le tuyau d_token.

    Effectivement avec une série de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.setValueAt(Obj,int,int);
    suivi de
    J'obtiens bien ce que je veux. La seule chose, c'est qu'à chaque fois que j'appuie sur le bouton requête (donc nouveau résultat), je dois re-remplir le tableau cellule par cellule.
    C'est un peu lourd, mais c'est une solution.

    S.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    essaie ca alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Table.setModel(new DefaultTableModel(data, columns));
    j'espère que ca pourra t'aider

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut
    Pour moi, la JTable contient le résultat de requêtes donc le contenu change du tout au tout : nombres de lignes, infos etc.

    Il n'y a que le nom et le nombre de colonnes qui reste le même entre 2 requêtes.
    C'est pour ça que le setValueAt me paraît un poil lourd, parce que cette méthode semble adaptée au remplacement d'une valeur ponctuelle et non pas à la modification de tout le contenu de la table.

    Je vais regarder du côté des modèles...

    Merci en tous cas, j'ai appris qqchose.

    S.

    Ps
    je regarde ta nouvelle suggestion.

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut C'est simple et ça marche
    Merde : ça marche !

    A cause de toi, je n'utiliserai pas de "table Model" et je resterai un bidouilleur pour l'éternité.
    Tu devrais avoir honte...



    Merci infiniment

    S.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    heureux d'avoir pu aider !

    histoire de soulager ma conscience, je te conseille de bien comprendre les modèles...

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

Discussions similaires

  1. Mise à jour d'une JTable
    Par Chavadam dans le forum Composants
    Réponses: 6
    Dernier message: 22/08/2013, 18h03
  2. Mise à jour d'une JTable
    Par kimlaw95 dans le forum Composants
    Réponses: 6
    Dernier message: 03/04/2009, 15h25
  3. Mise à jour d'une JTable (Problème d'affichage)
    Par ouchemhou dans le forum Composants
    Réponses: 29
    Dernier message: 14/08/2008, 13h33
  4. mise à jour d'une JTable => erreur aléatoire
    Par AliLoU` dans le forum Composants
    Réponses: 2
    Dernier message: 30/03/2007, 15h11
  5. Mise à jour d'une JTable en fonction d'une JList
    Par xtaZy dans le forum Composants
    Réponses: 1
    Dernier message: 21/03/2007, 18h25

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