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 :

Remplir un tableau 2D a partir d'une table


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 107
    Points : 43
    Points
    43
    Par défaut Remplir un tableau 2D a partir d'une table
    salut tout le monde,

    j'ai un petit probleme :

    j'ai créé une classe utilisateur avec deux champs nom et prenom + leurs getters et setters.

    ensuite j'ai rempli un tableau d'objets de type utilisateurs[10];

    ce que j'arrive pas a traduire en code est comment pourrai je affecter le tableau utilisateurs un tableau[][] pour le mettre en parametre dans le constructeur d'un JTable ?

    merci de me repondre.

  2. #2
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Dans ce cas il est préférable de placer le tableau dans modèle de JTable perso.
    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
    class MyTableModel extends AbstractTableModel {
     
       private utilisateurs[] users;
     
       public MyTableModel(utilisateurs[] users) {
           this.users = users;
       }
     
       public int getColumnCount() { return 2; }
       public int getRowCount() { return users != null ? users.lenght : 0; }
     
       public Object getValueAt(int rowIndex, int columnIndex) {
           if(users != null) {
              switch(columnIndex) {
              case 0 : return users[rowIndex].getName();
              case 1 : return users[rowIndex].getFirstName();
              default : throw new ...;
              }
     
           } else {
              return null;
           }
       }
     
       ...
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    utilisateurs[] users = ...
    JTable table = new JTable(new MyTableModel(users));
    ...

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 107
    Points : 43
    Points
    43
    Par défaut
    merci pour l'aide precieux, je sais bien qu'il faut le placer dans un modele... ce qui m'interesse c'est de savoir la maniere comment on pourra remplir un tableau 2D sans recours a son inisialisation classique ( tableau[][] t = {{1,2},{1,2},{1,2},...} )

    c'est ce que je voudrai bien comprendre ^^

  4. #4
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    je sais bien qu'il faut le placer dans un modele
    Alors c'est que tu as compris que le modèle sert normaliser l'accès aux données en masquant la structure qui contient réellement les données.

    remplir un tableau 2D sans recours a son inisialisation classique ( tableau[][] t = {{1,2},{1,2},{1,2},...} )
    Comme tu as compris ce qu'est un modèle, c'est que tu as également compris que l'initialisation d'un JTable avec un tableau est un cas particulier qui en fait prend en charge la création du modèle (voir le source du constructeur qui se contente de placer le tableau dans un modèle). Tout ça pour dire que le cas général pour construire un JTable est d'utiliser un modèle perso.

    Concrètement pour revenir à ton problème, il y a deux solutions :
    1) tu as la nécessité absolue de passer par un tableau à deux dimensions, alors à toi de créer et d'initialiser ce tableau avant de le passer au JTable.
    2) tu souhaites juste afficher ton tableau d'utilisateurs avec un JTable, alors comme il n'existe pas de constructeur pour cela, tu places toi-même ton tableau dans un modèle avant de le passer au JTable (voir exemple dans mon post précédent).

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 107
    Points : 43
    Points
    43
    Par défaut remerciement
    je te comprends parfaitement

    je vais trouver une solution plus optimale et je te previendrai ^^

    merci

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

Discussions similaires

  1. [PPT-2003] Génération d'un tableau de bord à partir d'une table excel
    Par Dborj dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 18/03/2010, 15h09
  2. [String] Remplir un tableau de String à partir d'une boucle "for"
    Par dev197 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 12/08/2009, 15h29
  3. Réponses: 4
    Dernier message: 04/06/2007, 10h14
  4. Réponses: 4
    Dernier message: 01/06/2007, 13h54
  5. Réponses: 12
    Dernier message: 28/11/2006, 15h34

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