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 :

[JTree] TooltipText et drap n drop


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Par défaut [JTree] TooltipText et drap n drop
    Hello tout le monde...

    J'ai 2 question sur le JTree que je ne connais pas vraiment...


    Tout d'abbord j'aimerais pouvoir ajouter des tooltiptext sur chaque branche de mon arbre...


    je me suis pris comme ca mais ca marche pas:

    Tout d'abbord j'ai défini mon TreeCellRenderer pour que mon JTree puisse afficher des JComponent:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     public class MyTreeCellRenderer implements TreeCellRenderer {
     
      public Component getTreeCellRendererComponent(
       JTree tree, 
       Object value, 
       boolean selected, 
       boolean expanded,
       boolean leaf, 
       int row, 
       boolean hasFocus) 
     
      {
     
       DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
       JComponent component = (JComponent) node.getUserObject();
     
     
       // Met le composant en opaque si il n'y est pas
       if(!component.isOpaque()) component.setOpaque(true);
     
       // Active le borderPainted si il n'y est pas
       if(component instanceof AbstractButton) {
     
        AbstractButton ab = (AbstractButton) component;
        if(!ab.isBorderPainted()) ab.setBorderPainted(true);
        if(ab.isFocusPainted()) ab.setFocusPainted(false);
       }
     
     
       if (selected) {
     
        component.setBackground(colorSelect);
        component.setForeground(tree.getForeground());
        component.setBorder(lineBorderSelect);
     
       } 
       else {
     
        component.setBackground(tree.getBackground());
        component.setForeground(tree.getForeground());
        component.setBorder(lineBorderNoSelect);
       }
     
       return component;
      }
     }
    ensuite pour construire mon arbre je fais comme ca:

    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
     
    DefaultMutableTreeNode rarine = new DefaultMutableTreeNode(new JLabel("Racine"));
     
    JLabel b1 = new JLabel("branche 1");
    b1.setToolTipText("essai 1");
     
    JLabel b2 = new JLabel("branche 2");
    b2.setToolTipText("essai 2");
     
    DefaultMutableTreeNode d1 = new DefaultMutableTreeNode(b1);
    DefaultMutableTreeNode d2 = new DefaultMutableTreeNode(b2);
     
    rarine .add(d1);
    rarine .add(d2);
     
    JTree t = new JTree (r);

    Mais aucun tooltip ne s'affiche quand je met ma souris sur une branche




    et ma 2ème question c'est que j'aimerais pouvoir faire des drag n drop des branches de mon arbre... j'aimerais uniquement pouvoir déplacer les branches à l'intérieuse de l'arbre meme ...


    Si quelqu'un sait comment faire ...

    merci d'avance

  2. #2
    Membre éclairé Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Par défaut
    oups dsl...

    pour les tooltip j'ai posé la question un peu trop rapidement...

    il suffisait de rajouter cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ToolTipManager.sharedInstance().registerComponent(tree);


    Mais j'ai tjs des problèmes pour les drag and drop...

  3. #3
    Membre éclairé 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
    Par défaut
    pour les drag&drop il y a 2 solutions :

    ton arbre doit implementer les interfaces DragSourceListener et DropTargetListener (ou lui associer des classes qui implementent ces interfaces)

    tu as des exemples ici

    http://www.javaworld.com/javatips/jw-javatip97.html

    ou bien il y a un moyen parfois plus simple (ca depend du resultat que tu veux , mais j'ai peur que dans ton cas ce ne soit pas suffisant et qu'il faille la premiere solution) c'est d'utiliser la methode setDragEnabled(boolean) associée a un transfertHandler : plus de détail ici (il parle pas specifiquement des jtree mais des jcomponent en general):

    http://java.sun.com/docs/books/tutor.../misc/dnd.html

    voila @+

Discussions similaires

  1. [XL-2013] Comment intercepter le drap and drop d'une cellule ?
    Par [ZiP] dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/12/2014, 16h07
  2. drap and drop avec windev
    Par tytyone554 dans le forum WinDev
    Réponses: 1
    Dernier message: 20/09/2011, 14h30
  3. [VB.NET] Drap and Drop depuis l'extérieur
    Par Jarodnet dans le forum Windows Forms
    Réponses: 8
    Dernier message: 02/02/2006, 10h21
  4. Drag and drop sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 02/08/2005, 10h54
  5. [JTree] ToolTipText sur chaque node
    Par Stessy dans le forum Composants
    Réponses: 6
    Dernier message: 19/04/2005, 16h01

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