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 ajout de ligne dynamiques


Sujet :

Composants Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut JTable ajout de ligne dynamiques
    Bonjour,

    J'utilise le composant SWING JTable.

    Pour ajouter des colonne, j'utilise la méthode : .addColumn(TableColumn)
    Lors de l'exécution de mon soft, je vois bien mes colonnes avec les libellés choisient.

    Mais je n'ai pas trouver comment ajouter des lignes ?



    Merci par avance.

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    L'ajout de données se fait au niveau du modèle de la JTable et non de la JTable elle-même.
    Il faut créer ton propre modèle basé par exemple sur un tableau à deux dimensions (ou bien une List de List ).
    Ajouter une ligne à ce tableau à deux dimensions (ou List), sera répercuté dynamiquement sur l'affichage - la JTable (Si la méthode getComponentAt est correctement définie).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Le problème c'est qu'on utilise un tableau pour les colonne et un second tableau à 2 dimensions pour les lignes (données).

    ex: String[] colonne = new String[nb] ;
    Object[][] data = new Object[nb1][nb2] ;

    Mais avec ce sytème, on doit définir le nombres de ligne et de colonne maximal. Moi je ne peux pas savoir le nombres de ligne de mon tableau à l'avance puisqu'on peut ajouter ou supprimer des lignes.

    Comme puis-je utiliser des tableaux dynamiques ?

    J'ai essayer avec Vector mais on ne peut pas avoir un tableau Vector à 2 dimensions.


    Merci par avance.

  4. #4
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Il faut éviter d'utiliser vector. Utilise plutôt ArrayList :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List maList=new ArrayList();
    for(int i=0;i<10;i++){
       maList.add(new ArrayList());
    }
    Cela te crée une liste de 10 listes, donc un tableau dynamique à deux dimensions.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par iohack Voir le message
    Il faut éviter d'utiliser vector. Utilise plutôt ArrayList :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List maList=new ArrayList();
    for(int i=0;i<10;i++){
       maList.add(new ArrayList());
    }
    Cela te crée une liste de 10 listes, donc un tableau dynamique à deux dimensions.

    J'ai mon tableau à deux dimensions, mais comment puis-je par exemple récupérer la valeur placer aux index row=0 et column = 0 ?
    Puisque que j'tilise :
    Mais comment puis-je faire pour récupérer la première valeur row = 0 et column = 0.

    row = ligne du tableau, column = colonne du tableau.


    Merci par avance

  6. #6
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    ((List)maListe.get(0)).get(0)
    ...
    plus généralement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Object getComponentAt(int colonne,int ligne){
       return ((List)maListe.get(ligne)).get(colonne);
    }

Discussions similaires

  1. ajouter des lignes dynamiquement dans un JTable
    Par Jolt0x dans le forum Composants
    Réponses: 6
    Dernier message: 15/05/2014, 17h32
  2. [JTABLE] ajouter une ligne
    Par Dokho1000 dans le forum Composants
    Réponses: 12
    Dernier message: 13/09/2006, 14h52
  3. Ajout de ligne dynamique dans un tableau (Incompatible IE)
    Par seb34 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 26/05/2006, 12h03
  4. [JTable] ajouter une ligne
    Par maminova77 dans le forum Composants
    Réponses: 6
    Dernier message: 26/03/2006, 20h28
  5. [JTable] ajouter une ligne
    Par rvfranck dans le forum Composants
    Réponses: 3
    Dernier message: 30/03/2005, 15h25

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