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

 Java Discussion :

JTree et MouseMotionListener


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Par défaut JTree et MouseMotionListener
    Bonjour,

    J'ai un panel qui contient deux JTree. J'associe à chaque JTree un MouseMotionListener.
    Au niveau de la fonction mouseDragged(), je récupère grâce aux fonctions getX() et getY() la position de la souris.
    Puis j'applique la fonction setDragEnabled(true) aux deux JTree.
    Le probleme est qu'ensuite, la fonction mouseDragged() n'est plus appelée correctement.
    Quelqu'un pourrait-il me dire pourquoi?

    Merci

    Laurent

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Donne le code le plus court et simple possible qui permet de reproduire le problème.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Par défaut
    Mon code est peu long, je vais essayer de réécrire une version courte avec uniquement mon problème...

  4. #4
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Par défaut
    Dans mon code j'ai deux classes, la classe IHM et la classe Arbre qui hérite de JTree.

    Classe IHM:


    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    package interfaceGraphique;
     
    import java.awt.GridLayout;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import arbre.Arbre;
     
    /**
     * IHM de l'outil
     * @author ZEGGWAGH_L
     *
     */
    public class IHM implements MouseMotionListener {
    	/* Attributs */
    	/* Composants Swing*/
    	// Fenêtre
    	public static JFrame cadre ;
     
    	// Les panels
    	private JPanel mainPanel ;
     
    	//Les arbres
    	private Arbre arbreComposant;
    	private Arbre arbreArchitecture;
     
    	/**
             * Méthode qui initialise l'ihm au lancement
             */
    	public void init(){
    		// Création de l'IHM
    		cadre=new JFrame();
    		//Panel
    		mainPanel=new JPanel();
     
    		/* Agencement*/
    		mainPanel.setLayout(new GridLayout(1,2));
     
    		//Arbres
    		arbreComposant =new Arbre();
    		arbreArchitecture =new Arbre();
     
    		cadre.add(mainPanel);
    		mainPanel.add(arbreComposant);
    		mainPanel.add(arbreArchitecture);
     
    		//Options du cadre
    		cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		cadre.setSize(1200, 900);
    		cadre.setVisible(true); 
     
    		//Ajout des listeners
    		arbreComposant.addMouseMotionListener(this);
    		arbreArchitecture.addMouseMotionListener(this);
    	}
     
    	@Override
    	public void mouseDragged(MouseEvent arg0) {
    		System.out.println("appel de la fonction mouseDragged");
    	}
     
    	@Override
    	public void mouseMoved(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    	}
     
    	public static void main(String[] args) {
    		new IHM().init();
    	}
    }
    Classe Arbre:

    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
     
    package arbre;
     
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
     
    public class Arbre extends JTree{
    	/**
             * Numéro série par défaut
             */
    	private static final long serialVersionUID = 1L;
     
    	/* Attributs */
    	private DefaultMutableTreeNode nodeArchitecture;
    	private DefaultMutableTreeNode nodePorteur;
    	private DefaultMutableTreeNode nodeGenerationPuissance;
    	private DefaultMutableTreeNode nodeCDV;
     
    	/* Constructeur*/
    	public Arbre(){
    		nodeArchitecture=new DefaultMutableTreeNode("1");
    		nodePorteur=new DefaultMutableTreeNode("2");
    		nodeGenerationPuissance=new DefaultMutableTreeNode("3");
    		nodeCDV=new DefaultMutableTreeNode("4");
     
    		/* Ajout des nodes*/
    		nodeArchitecture.add(nodePorteur);
    		nodeArchitecture.add(nodeGenerationPuissance);
    		nodeArchitecture.add(nodeCDV);
     
    		/*Ajout du modèle*/
    		DefaultTreeModel dtm = new DefaultTreeModel(nodeArchitecture);
    		this.setModel(dtm);
     
    		/* Rend le drag possible */
    		this.setDragEnabled(true);
    	}
    }

Discussions similaires

  1. [JTree] rafraichissement
    Par nurn dans le forum Composants
    Réponses: 12
    Dernier message: 29/07/2005, 14h41
  2. [JTree]noeud parent dans un jtree
    Par wassimb dans le forum Composants
    Réponses: 5
    Dernier message: 22/03/2004, 14h06
  3. [JTree]problème de rafraichissement
    Par peppena dans le forum Composants
    Réponses: 9
    Dernier message: 20/01/2004, 14h06
  4. [JTree]redimensionnement d'un noeud
    Par grishka dans le forum Composants
    Réponses: 4
    Dernier message: 10/04/2003, 14h33
  5. [JTree] Ouvrir/Fermer l'ensemble des noeuds
    Par Math_Caen dans le forum Composants
    Réponses: 3
    Dernier message: 07/04/2003, 14h01

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