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] ajouter une ligne


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut [JTABLE] ajouter une ligne
    Voila j'ai des chercher parmis les topic qu'il y avais sur le forum et donc j'ai remarquer que pour faire une jtable il fallais faire un nouveau TableModel.

    J'ai donc fais ce la

    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
    class MonTableModel extends AbstractTableModel {
            public MonTableModel(ArrayList tableau) {
                    this.data = tableau;
            }
     
            public int getRowCount() {
                try{
                    return this.data.size(); 
                }
                catch(Exception e){
                    return 0;
                }
            }
     
            public int getColumnCount() {
                    return 3;
            }
     
            public void modifiertableau(ArrayList tableau) {
                    this.data = tableau;
            }
     
            public Object getValueAt(int r, int c) {
                    return this.data.get(r);
            }
     
            private ArrayList data = new ArrayList();
    }
    Je l'utililse apres en faisant ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     ArrayList al = new ArrayList();
    MonTableModel mtm = new MonTableModel(al); //dans ma partie d initialisation
    ....
    al.add(obj) // les valeurs ici sont correct pas de probleme
    this.mtm.modifiertableau(al);
    this.jTable1.setModel(mtm);
    Alors j'ai bien une ligne qui s ajoute mais dedans apparait dans chaque celliule
    [Ljava.lang.string;@1950
    (le chiffre change a chaque fois)

    Voila donc ca doit encore etre tout bete mais la je vois pas.

  2. #2
    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
    Il t'affiche la référence de ton Objet... Ca veut dire que la méthode toString de ton objet n'est pas bien définie, ou alors, il faut lui passer un String...

    Ensuite, c'est pas vraiment optimal de faire comme tu le fais, ca ne sert à rien d'employer modifierTableau puisque tableau étant passé par référence, si tu modifies d'un coté ca change de l'autre.

    Mais surtout, tu pers l'utilité d'un modèle, qui est de séparer la vue des données.... Il faut créer une méthode add dans le modéle, qui va se charger de mettre à jour le modèle.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    je me doutais bien que c'etait qlqchose du genre le truc, c'est quoi que je dois changer :s

  4. #4
    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
    Citation Envoyé par Dokho1000
    je me doutais bien que c'etait qlqchose du genre le truc, c'est quoi que je dois changer :s
    Déja, il faudrait savoir ce que tu ajoutes à l'arrayList dans ce code-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    al.add(obj) // les valeurs ici sont correct pas de probleme
    c'est quoi obj ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    c'est betement un tableau a 3 case de string.

    donc String [] obj = new String[3]

    EDIT : Putain je suis con, je peux pas passé un tableau la :s
    Je savais que ca allais etre con mais a ce point la.

    La c gros boulay que je suis.
    Merci quand meme c'est pcq tu m as dis je passe quoi que ca a fais tilt
    Par contre comme je fais alors pour affecter les 2 autres champs de la row

  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
    Citation Envoyé par Dokho1000
    c'est betement un tableau a 3 case de string.

    donc String [] obj = new String[3]

    EDIT : Putain je suis con, je peux pas passé un tableau la :s
    Je savais que ca allais etre con mais a ce point la.

    La c gros boulay que je suis.
    Merci quand meme c'est pcq tu m as dis je passe quoi que ca a fais tilt
    Par contre comme je fais alors pour affecter les 2 autres champs de la row
    Ce que tu peut faire, c'est parcourir ton tableau et ajouter chaque String à ton ArrayList ou alors employer un tableau dans ton modèle, mais dans ce cas, tu perdras la possibilité d'ajouter des lignes de manière simple...

    P.S. Si tu pouvais faire quelques efforts pour l'orthographe, ce ne serait pas de refus...

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

Discussions similaires

  1. [JTable] Ajouter une ligne
    Par aitbouhou dans le forum Composants
    Réponses: 1
    Dernier message: 22/07/2008, 16h32
  2. [JTable] Ajouter une ligne dans un table triée
    Par AliJava dans le forum Composants
    Réponses: 12
    Dernier message: 22/12/2007, 15h17
  3. Ajouter une ligne à JTable
    Par ShredLord dans le forum Composants
    Réponses: 1
    Dernier message: 13/11/2007, 22h15
  4. [JTable] ajouter une ligne
    Par maminova77 dans le forum Composants
    Réponses: 6
    Dernier message: 26/03/2006, 19h28
  5. [JTable] ajouter une ligne
    Par rvfranck dans le forum Composants
    Réponses: 3
    Dernier message: 30/03/2005, 14h25

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