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 :

Comment mettre des JComponent dans un JXTreeTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut Comment mettre des JComponent dans un JXTreeTable
    Bonjour à tous !

    Je développe un logiciel qui a dans son interface un arbre.
    Cet arbre représente une arborescence de fichier/répertoire et chaque fichier/répertoire a une coche ( Un composant à moi avec 3 états pour que les dossiers puissent être aussi à l'état "partiellement sélectionné") permettant de sélectionner/désélectionner.

    Initialement, j'utilisait donc un JTree dans lequel je mettait mes composants graphiques (mon interrupteur 3 états, des JLabel pour le nom, la taille, date de modif...) et ça marchait pas trop trop mal (à part que du coup, mes JLabel étaient pas forcément alignés d'une ligne sur l'autre)

    Sur les conseils d'un ami, j'ai voulu changer ce champ par un JXTreeTable (De la version 1.6 de swingX), afin d'avoir tous mes champs alignés comme dans un tableau (ça c'est la class )

    Le problème, c'est que mon champ 3 états (et à ce que j'ai pu voir, les jcomponent en général) n'est pas affiché sur ma ligne, ce que j'ai c'est le texte du toString de mon objet...

    J'ai donc voulu en solution de secours modifier les icones par défaut de mon arbre. Hop nouveau problème, en regardant la javadoc il semblerai que l'icône de chaque ligne ne soit pas paramétrable ligne à ligne, c'est juste par rapport au type de node (parent ouvert, fermé, node feuille...)

    Du coup je suis coincé là dessus, quelqu'un aurai une idée de comment afficher un JComponent dans une JXTreeTable (si c'est possible, j'en suis pas vraiment sûr ), ou si quelqu'un connait un composant swing qui permettrait de faire ça (un arbre avec un tableau à côté, chaque ligne de l'arbre correspondant à une ligne du tableau)...

    Merci d'avance pour vos propositions !

  2. #2
    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
    Bah en utilisant le renderer approprié...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Ligne purement Swingx
    maTreeTable.setTreeCellRenderer(new DefaultTreeRenderer(new CheckBoxProvider()));
    Puis un editor standard de JTable pour la partie édition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maTreeTable.setDefaultCellEditor(...,trucmuche.class) //Ca il faut l'écrire

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/05/2007, 19h35
  2. comment mettre des donnés dans un dual?
    Par godiba dans le forum Administration
    Réponses: 3
    Dernier message: 15/05/2007, 11h48
  3. Réponses: 5
    Dernier message: 08/12/2006, 00h09
  4. [FOP][0.92 Béta]Comment mettre des signets dans le PDF ?
    Par NoisetteProd dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 04/08/2006, 12h02
  5. comment mettre des int dans une char??
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/04/2006, 17h02

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