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 :

Afficher un TreeModel dans une JTable ?


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 26
    Points
    26
    Par défaut Afficher un TreeModel dans une JTable ?
    Bonjour à tous,

    J'ai developpé un JTree associé à un TreeModel (pas plus de 3 niveaux de profondeurs) mais malheureusement, mes utilisateurs souhaient afficher mes données issuée du modele, non plus dans un JTree mais dans une JTable, est-ce possible directement ?
    Le constructeur de JTable ne prend évidement pas un TreeModel en argument

    Dans le JDK/swing, je ne vois pas de solution ?

    Merci

  2. #2
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    Le constructeur de JTable ne prend pas de JTree en paramètres.
    Par contre, il peut prendre n'importe quel modèle de table héritant d'un DefaultTableModel ou AbstractTableModel qui lui prend en paramètre dans son constructeur n'importe quel Object.
    A mon avis, une piste serait d'implémenter une classe héritant d'un AbstractTableModel puis d'instancier dans ta classe principale une JTable avec ce model à l'aide de la commande jtable1.setModel(TableModel tm).

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par rems033
    Le constructeur de JTable ne prend pas de JTree en paramètres.
    Par contre, il peut prendre n'importe quel modèle de table héritant d'un DefaultTableModel ou AbstractTableModel qui lui prend en paramètre dans son constructeur n'importe quel Object.
    A mon avis, une piste serait d'implémenter une classe héritant d'un AbstractTableModel puis d'instancier dans ta classe principale une JTable avec ce model à l'aide de la commande jtable1.setModel(TableModel tm).
    En fait, je me suis mal exprimé :
    J'ai une JTree construit sur un DefaultTreeModel (lui meme sur des elements de type DefaultMutableTreeNode)
    puis
    JTable jtable = new JTable();
    jtable.setModel(classe héritant de tableModel !!);

    Je ne vois pas tres bien a quoi ressemblerait ta classe ?

  4. #4
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    En fait tu aurais :
    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
     
    // Classe representant le modele ta table
        public class TableModele extends AbstractTableModel
        {
            private Object[][] data ;                       // champs contenant l'ensemble des donnees a afficher
            private Object[] colonnesNom ;                  // champ representant le nom de chaque colonne
            private boolean ALLOW_ROW_SELECTION = true;     // la selection des lignes est possible
     
            // Constructeur du modele de table
            public TableModele()
            {
                this.colonnesNom = new Object[5];
                this.data = new Object[0][5];
                init();
            }
     
             blah blah blih blah blah blah
             // sans oublier les methodes à redefinir de la classe AbstractTableModel
    data contient des objects et peut donc contenir des JTree !
    Ensuite, quand tu crée ta table,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    TableModele tm = new TableModele() ;
    JTable table = new JTable(tm);
     
    // ou bien
     
    TableModele tm = new TableModele();
    table.setModel(tm);     // si ta table a été crée auparavant !
    Je pense que ce doit être possible vu que tu peux mettre n'importe quel object.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Merci bien, je devrais m'en sortirt maintenant.

  6. #6
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    En fait, de la meme facon que tu cree ton JTree avec un abstractModel, tu cree un JTable avec aussi un AbstractModel!
    C'est pareil...
    Bon courage a toi et content de t'avoir aidé!

Discussions similaires

  1. Afficher contenu combobox dans une JTable
    Par hama amadou dans le forum Débuter
    Réponses: 4
    Dernier message: 01/07/2015, 15h39
  2. Afficher les données d'un Vector dans une JTable
    Par lamyy dans le forum Composants
    Réponses: 2
    Dernier message: 26/10/2011, 13h56
  3. Afficher 560 000 lignes dans une JTable -> out of memory
    Par Mattorre dans le forum Composants
    Réponses: 5
    Dernier message: 11/06/2010, 11h07
  4. Réponses: 4
    Dernier message: 05/07/2008, 20h06
  5. Comment afficher un Set(COLLECTION) DANS UNE jTABLE
    Par taf dans le forum Composants
    Réponses: 3
    Dernier message: 05/04/2006, 11h53

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