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] afficher objet perso


Sujet :

Composants Java

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut [JTable] afficher objet perso
    bonjour ,

    voila j'ai un petit probleme de JTable :
    j'ai un objet Employee avec comme constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Employee(String sexe, String nom, String prenom,
    			String naissance, int age, String adresse, String embauche,
    			double salaire, String situation, String note)
    je voudrai que mon JTable affiche un tableau a une dimension de Employee avec tout les champs afficher dans une colonne differente

    par ex

    colonne => sex | nom | prenom | ....
    valeur ligne 0 => M | Thomas | qqchose | ....
    valeur ligne 1 => F | qqchose | qqchose

    enfin voila ^^
    si vs avez des idee aidez moi svp je n'ai rien trouver dans les model ou das la javadoc qqchose me permettant de faire qqchose comme cela

    merci ^^

    ++

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Je pense que la meilleure solution serait d'utiliser un TableModel

    cf Creating a Table Model
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    je suis en train d'essayer et c trop trop chiant

  4. #4
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Ben montre nous ce que tu as essayé, car je t'assure qeu ce n'est pas si chiant !

    De mémoire tu dois avoir 4 ou 5 méthodes à redéfinir (constructeur, getColumnName() -renvoie suivant le numéro de la colonne un libellé genre "Sexe", "Nom", "Age",...", getValueAt() -Renvoie un attribut d'un de tes emplyés. ll suffit de tous les mettre dans un tableau par exemple et de faire employes[i].getSexe(), employes[i].getName()..., setValueAt() -optionnelle, getColumnClass() -optionnelle, c'est quand même pas la mort ! Avec un petit switch sur ton getColumnName() et un autre sur ton getValueAt(), tu devrais pouvoir t'en sortir facilement !
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  5. #5
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    si c la mort je t'assure d'ailleur me suis arreter un peu

    sinon ce que je voualsi c definir un objet sur la premier colone avec un valuat par exempel et que le reste se remplisse automatiquement pour eviter de le faire pour chaque colonne et chaque ligne mais dans le TableModel pour l'implementer je te dit pas la m####

    si jamais ta une idee je suis ouvert ^^

  6. #6
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    Citation Envoyé par daedric
    sinon ce que je voualsi c definir un objet sur la premier colone avec un valuat par exempel et que le reste se remplisse automatiquement pour eviter de le faire pour chaque colonne et chaque ligne mais dans le TableModel pour l'implementer je te dit pas la m####
    je ne suis pas certain que developper un tel objet qui remplirai automatiquement ta table soit moins couteux en temps que construire ton tablemodel ....
    Et puis apres pour gerer tes changement de contenu je t'explique meme pas comment tu vas t'amuser ....

    Honnetement j'utilise tout les jours des table associées a des model y a pas plus rapide. Surtout qu'une fois que tu as defini un model tu peux le reutiliser a peu de chose pret (nom des colonnes) autant de fois que tu veux .....

  7. #7
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Désolé de perdre un peu patience, mais quand on te donne une réponse, c'est pas pour entendre dire que c'est de "m####".
    Si ce que tu veux c'est que tout se fasse tout seul, et que tu n'ai qu'à dire JTable maTable = new JTable(mesObjets); et qu'ensuite il se débrouille pour trouver tout seul que mettre dans quelle colonne, quel nom mettre sur quelle colonne, éventuellement faire un peu de conversion de données pour traduire que 'M' c'est masculin et 'F' c'est féminin... ben c'est mal parti !

    Rien ne se fait tout seul, nous on te donne des pistes, mais si tu ne veux pas les explorer, ou si tu attends que quelqu'un te fasse ton boulot, ou mieux, que celui-ci se fasse tout seul, tu risques d'attendre longtemps !

    Si tu as le temps de répondre, explique moi comment tu veux qu'une JTable devine toute seule ce qu'elle a à représenter et la manière dont elle doit le faire !

    Règles du forum IG Java, et sur les Règles de DVP, regardes les points 3, 4 et 5.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  8. #8
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    edit : voir le post suivant

  9. #9
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    Citation Envoyé par leminipouce
    Désolé de perdre un peu patience, mais quand on te donne une réponse, c'est pas pour entendre dire que c'est de "m####".
    Si ce que tu veux c'est que tout se fasse tout seul, et que tu n'ai qu'à dire JTable maTable = new JTable(mesObjets); et qu'ensuite il se débrouille pour trouver tout seul que mettre dans quelle colonne, quel nom mettre sur quelle colonne, éventuellement faire un peu de conversion de données pour traduire que 'M' c'est masculin et 'F' c'est féminin... ben c'est mal parti !

    Rien ne se fait tout seul, nous on te donne des pistes, mais si tu ne veux pas les explorer, ou si tu attends que quelqu'un te fasse ton boulot, ou mieux, que celui-ci se fasse tout seul, tu risques d'attendre longtemps !

    Si tu as le temps de répondre, explique moi comment tu veux qu'une JTable devine toute seule ce qu'elle a à représenter et la manière dont elle doit le faire !

    Règles du forum IG Java, et sur les Règles de DVP, regardes les points 3, 4 et 5.
    mais n'importe quoi !! je n'ai pas dit que la reponse etait de la merde ni rien lit mieu !!!

    un jour je decide de faire un programme de gestion d'employee , alors je creer un package employee , la classe employe avec tout ce qu'il faut et je commence le prog principale et je commence par une jlist , alors je me dit que comme je l'utilise tout le temps pourquoi pas essayer un jTable !! donc c parti pour un jtable mais voila je ne savais pas par ou commencer donc je laisse un post sur ce forum on me parle des tablemodel je vais voir , j'essai , je rep que c trop trop chiant mais je vais continuer a essaye ensuite qqsemaine apres leminipouce remonte le topic en demandant ou j'en etait je repond que en gros les JTable et les TableModel etait trop chiant et que je m'etait un peu arreter

    voila , en gros si je te comprend poser ce genre de question c'est demander a ce que lon me fasse le boulot ?

    je n'ai plus qu'a chercher un autre forum java

    EDIT : de plus leminipouce ma donner envi de deterrer ce projet

  10. #10
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Je m'excuse de m'être mal exprimé, et c'est parceque je le sentais venir que je commençais en disant "Désolé de perdre un peu patience".

    Alors, si je suis pardonnable, premièrement je t'invite à ne pas fuir le forum par ma faute, et deuxièmement, pour m'apprendre à être désagréable avec des gens qui ne m'ont rien fait, je vais me donner le temps de te répondre de manière plus correcte et plus urbaine.

    1. La JTable permet de faire un affichage sous forme de tableau de données "hétéroclites". J'entends par là que chaque ligne peut contenir différents éléments, sans forcément avoir de rapport entre eux.
    Cela dit, elle convient très bien pour faire ce que tu veux faire. (Si j'ai bien compris ce que tu voulais faire.)

    2. La JList, même si je ne l'utilise pas trop, sert à afficher une série d'objets, mais en n'en affichant qu'un par ligne. Ces objets peuvent, par contre, n'avoir aucun rapporrt entre eux.

    Pour afficher une série d'employés, soit tu redéfinis ta méthode toString() sur employés, et dans ce cas, après avoir mis tous tes employés dans un Vector() par exemple, ou dans un tableau d'employés, tu instancies ta JList, et celle-ci te montre tous tes employés, en utilisant ta méthode toString(). -en tout cas, c'est comme ça que je ferais. -mais ça, normalement, c'est ce que tu sais faire !

    Maintenant, si tu veux afficher ces mêmes employés dans une JTable, ça va être un tout petit peu plus compliqué (ce que tu traduit par chiant...).
    Pourquoi c'est plus compliqué ? Parce qu'en gros, une JTable, c'est (schématiquement) une JList avec plusieurs colonnes. Donc, cela permet une gestion plus poussée de la chose, mais également, et fatalement, plus compliquée.
    Cela dit, comme tu vas le voir, la complexité s'arrête très vite.
    Tout ce qui t'es demandé pour créer un JTable, c'est un tableau d'objets définissant les en-têtes de tes colonnes. (Par exemple, tu peux créer un tableau de String() dans lequel on va retrouver les informations "Nom", "Sexe", "Age", "Ancienneté"...) Ensuite, il te faut également un tableau à deux dimensions, d'objets. Ce tableau va comporter, dans chaque ligne, un élément à afficher. (Par exemple, un employé. On se retrouvera donc avec tableau[0][0]=employe1.getName(), tableau[0][1]=employe1.getSexe(), tableau[0][2]=employe1.getAge()...tableau[1][0]=employe2.getName(), tableau[1][1]=employe2.getSexe(), tableau[1][2]=employe2.getAge()...)
    Ensuite, si tu instancie ta JTable avec ces 2 paramètres, celle-ci s'affichera sans problème. Attention quand même, comme je te l'ai dit auparavant, il est préférable, et plus simple..., de mettre les JTable dans des JScrollPane.

    Le problème de cette méthode est exactement le même que celui pour la JList, si tu n'utilises pas de Model => ta table, comme ta liste vont être statiques.

    L'avantage du modèle réside dans le fait que tu puisses mettre à jour de manière dynamique tes données et ton affichage.

    Ainsi, si tu modifies un élément de ta table, et qu'elle est basée sur un modèle, tu vas pouvoir facilement la mettre à jour. Tout comme si tu ajoutes un(e) employé(e)...

    PS: Excuse moi encore pour mon agressivité, mais si je peux me permettre de prendre ma défense, reconnaît que nous avons été trois à te conseiller d'utiliser les modèles, et que tu nous a répondu 1. Que c'était trop chiant, 2. Que c'était la m####. Je ne voulais pas te dire que tu considérais nos réponse comme tu la m####, mais j'avoues ne pas mettre très bien exprimé.
    Il me semble qu'on t'a donné une méthodologie assez simple et claire, que nous sommes (à priori) au moins 3 à utiliser, et nous savons, d'expérience, que ce n'est pas compliqué, il suffit de se plonger un peu dedans (attention, je ne dit pas qu'il n'y a pas des pièges ou que ça ne mérite pas une question sur ce forum !), et à ta façon de répondre, j'en ai déduis que tu ne voulais pas de donner la peine de le faire. C'est pourquoi j'ai perdu patiente, car ça m'a fait rager de donner une réponse à quelqu'un qui me répond que pour lui, la solution "offerte" par ma réponse apporte de la m####. (une fois de plus je ne dis pas que tu as dit que ma réponse en été...).
    Tu cherches à utiliser quelque chose de nouveau, alors oui, c'est un peu chiant mais tu avais peut-être une façon moins "écoeurante" -ressenti personnel- pour ceux qui t'aident de le dire.

    Enfin, j'espère que ma réponse va cette fois être plus claire, et surtout moins agressive, et qu'on va réussir à t'aider.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  11. #11
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bon, pour calmer le jeu, je pense que tu t'y prends mal : Il ne faut pas forcément définir un TableModel en entier, ça oui, c'est particulièrement complexe.

    Tu peux te contenter de définir une classe qui hérite de AbstractTableModel ou de DefaultTableModel et de surcharger la ou les 2 méthodes que tu veux redéfinir.

    Franchement, ce que tu veux faire est faisable en 20 lignes de code.

    Si c'est toujours trop fatiguant, va voir un médecin .
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  12. #12
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    merci a vous tous

    bon je vais mi remettre mais pas se soir

    je met resolu car je pense que je n'apprendrai rien de plus ^^


    ++

    ps: leminipouce je ne t'en veut pas mais c'est vrai que je n'avais pas envisage ta reponse sur ce point de vu mais je ne critique jamais la reponse d'un autre et ne le ferai jamais(a moins que vraiment se soit du foutage de g####)

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

Discussions similaires

  1. [JTable] afficher et interragir avec des URLs
    Par jean_bobi dans le forum Composants
    Réponses: 1
    Dernier message: 28/09/2006, 10h35
  2. [JTABLE] afficher les retours chariots dans une cellule
    Par d_token dans le forum Composants
    Réponses: 3
    Dernier message: 11/09/2006, 13h03
  3. [JTable] Afficher une date dans un tableau / Renderer
    Par isak dans le forum Composants
    Réponses: 3
    Dernier message: 11/07/2005, 17h09
  4. [JTable] afficher la table vide au début
    Par orgoz dans le forum Composants
    Réponses: 5
    Dernier message: 06/01/2005, 15h21
  5. JTable et Objets
    Par Theoden dans le forum Composants
    Réponses: 4
    Dernier message: 30/04/2004, 11h37

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