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 qui ne s'affiche pas ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 38
    Par défaut JTable qui ne s'affiche pas ?
    Bonjour,

    J'ai un problème de JTable qui ne veut pas s'afficher !

    J'ai ma Frame principale contenant une ArrayList et après un traitement j'ouvre (automatiquement) un JDialog (en passant mon Array en paramètre).

    Ce JDialog comporte certains champs (nom, prénom, adresse,...) et un tableau. A l'ouverture du JDialog je charge mes champs avec les valeurs comprises dans mon Array ! Je veux aussi charger ma JTable avec l'array, ce qui a l'air de fonctionner (pas d'erreur)

    mais mon Tableau ne s'affiche pas ! (j'ai essayé de créé un tableau manuellement, mais fonctionne pas non plus)

    Sous JBuilder j'ai ajouter un 'composant' JScrollPane et dans ce JScrollPane j'ai ajouté ma JTable (Table). Ensuite dans le jbInit() j'appelle ma fonction : remplirTable();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void remplirTable() {
     
                String columnNames[] = {"Column 1", "Column 2", "Column 3"};
     
                String dataValues[][] = { {"12", "234", "67"}, {"-123", "43", "853"},
                        {"93", "89.2", "109"}, {"279", "9033", "3092"}
                };
     
                Table = new JTable(dataValues, columnNames);
     
            }

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    Pour ajouter ta JTable au scrollPane tu as bien fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scroll.getViewport().add(tableau);

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    ou un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scroll.setViewportView(Table);
    dans le cas d'un JScrollPanel ça remplace le add

  4. #4
    Membre expérimenté Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par défaut
    Ou un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JScrollpane scrollPane = new JScrollPane(maTable);
    Puis ajout de ton scrollPane dans ton Panel...

  5. #5
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 38
    Par défaut
    Ben je l'ai fait depuis l'interface graphique de JBuilder.

    J'ai (Drag&Drop) un JScrollPane sur ma Forme
    puis un JTable sur mon JScrollPane !

    Est-ce que je dois quand même le faire manuellement après avoir 'rempli' mon tableau ?

  6. #6
    Membre expérimenté Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par défaut
    Citation Envoyé par greg1602
    Ben je l'ai fait depuis l'interface graphique de JBuilder.

    J'ai (Drag&Drop) un JScrollPane sur ma Forme
    puis un JTable sur mon JScrollPane !

    Est-ce que je dois quand même le faire manuellement après avoir 'rempli' mon tableau ?
    Je ne connais pas du tout l'assistance graphique qur propose JBuilder...
    Tout à la main !
    Peut-être que tu pourrais poser ta question dans le Forum JBuilder à 2 pas en dessous de celui-ci ?

  7. #7
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    +1 pour tout à la main!

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Pareil (sauf un peu de triche avec netbeans pour mettre en place dans le cas d'un GridBagLayout, mais tout retouché à lamain ensuite)

  9. #9
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 38
    Par défaut
    En effet ça fonctionne en faisant tout à la main mais s'est beaucoups plus compliqué à faire la mise en forme après !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JTable Table = new JTable(data, nomColonne);
    JScrollPane scroll = new JScrollPane(Table);
     
    getContentPane().add(scroll, new XYConstraints(10, 310, 700, 170));
    Comment je dis à mon scroll :
    - d'afficher la barre verticale et horizontale
    - fixer la largeur des colonnes


    Si je modifie une valeur dans le tableau est-elle automatiquement sauvée si après je veux recopier mon tableau dans une array par ex ?

  10. #10
    Membre expérimenté Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par défaut
    Pour le scrollpane, il possède des méthodes type setVerticalScrollBarPolicy(int) et des fields pour gérer l'affichage ou non des bars de défilement.

    Pour tout ce qui est rendu de la JTable, tu vas être obligé de passer par des TableModel et des Renderer type CellRenderer pour pouvoir la designer.

    Pour ce qui est de la sauvegarde, dans le TableModel que tu auras défini pour ta JTable, tu as la méthode setValue à redéfinir pour que ça fasse automatique l'action (ici de sauvegarde dans un array) que tu souhaites.

  11. #11
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 38
    Par défaut
    Bonjour,

    Tout fonctionne correctement maintenant mais j'ai un nouveau problème !

    J'ai une ComboBox qui me permet de choisir les informations à afficher dans ma table. Soit liste des acteurs ou liste des projets.

    Si je remplis ma table avec la liste des acteurs et qu'après je veux la remplir avec celle des projets, ma table affiche bien ma 2ème sélection mais lorsque je clique sur la table pour agrandire les colonnes, les valeurs de la 1ère fois réapparaissent sur les autres !

    Comment faire pour vider à chaque fois ma table avant de la remplir avec les nouvelles valeurs ?

    merci

Discussions similaires

  1. pages qui ne s'affichent pas
    Par luck dans le forum ASP
    Réponses: 4
    Dernier message: 19/07/2004, 11h35
  2. [Applet] BorderLayout qui ne s'affiche pas
    Par Invité(e) dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 29/04/2004, 11h39
  3. [debutant][Tomcat]Images qui ne s'affichent pas
    Par omega dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/04/2004, 09h44
  4. [MFC] Ces fenêtres qui ne s'affichent pas..
    Par Davide dans le forum MFC
    Réponses: 3
    Dernier message: 19/11/2003, 11h30

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