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

AWT/Swing Java Discussion :

JAVA - Problème avec MouseListener et MouseMotionListener


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut JAVA - Problème avec MouseListener et MouseMotionListener
    Bonjour tout le monde !

    Voilà, je suis en train de programmer un logiciel en JAVA permettant entre autres d'afficher des données sur un tableau (j'ai utilisé JTable), et j'aimerais que lorsque l'utilisateur pointe sa souris sur une des lignes du tableau, celle-ci s'affiche en plus grand (j'ai utilisé Window).

    J'ai créé une classe qui hérite de JPanel et qui contient le tableau. Cette classe implémente les interfaces MouseListener et MouseMotionListener, et donc j'ai ajouté cette classe comme MouseListener et MouseMotionListener du tableau.

    Voici le code :


    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
    public void mouseMoved(MouseEvent me)
    	{
    		System.out.println("dedans"); //test
     
    		int x,y,rownb,rowheight; // (x,y) : position relative au tableau de la souris
    				                 // rownb : le numéro de la ligne où s'est arrêtée la souris
    		String text;
    		x = me.getX();
    		y = me.getY();
    		rowheight = dataTables[0].getRowHeight(); //dataTables[0] : le tableau en question
    		rownb = y/rowheight;
     
    		text = (String)dataTables[0].getValueAt(rownb,0);
    		for(int i=1;i<dataTables[0].getColumnCount();i++) // récupération des contenus des cellules composant la ligne
    		{
    			text += " | "+(String)dataTables[0].getValueAt(rownb,i);
    		}
     
    		details.removeAll();                       //details : la Window
    		details.setSize(text.length()*8, 20);
    		details.add(new JPanel().add(new JLabel(text)));
     
    		details.setLocation(me.getXOnScreen(),me.getYOnScreen());   // je place la Window au niveau de la souris
    		details.setVisible(true);
    	}
     
    	public void mouseExited(MouseEvent me)
    	{
    		System.out.println("dehors");
    		details.setVisible(false);
    	}


    Le problème, c'est que le contenu de Window est illisible car la classe considère que je ne cesse de rentrer/sortir du tableau. Même en restant immobile sur une des lignes du tableau, ce phénomène ce produit.

    Au niveau de la console, mes tests donnent une alternance de "dedans" et "dehors".

    J'espère avoir été assez clair, et merci d'avance pour vos réponses !

    Gaaston

  2. #2
    Membre actif

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Points : 276
    Points
    276
    Par défaut
    Bonjour,

    Pourquoi tu n'affiches pas ta Window que lorsque tu changes de ligne. Si tu es sur la meme ligne tu ne fait rien, tu laisse l'ancienne affichée.

  3. #3
    Membre régulier Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Points : 122
    Points
    122
    Par défaut
    Je ne sais pas si ceci vas t'aider mais plutot que de programmer l'affichage d'une nouvelle fenêtre pourquoi ne te servirai tu pas du tooltiptext existant, celà t'affiche une bulle d'aide que tu peux remplir avec ce que tu veux en plus en HTML, tu peux ainsi la personnaliser à ta guise et plus de problème d'affichage car c'est quelque choze qui existe déjà.

    Après sa ne correpond peut-être pa a se que tu veux...
    Vos questions, c'est sur le forum, pas de M.P.
    Commencez par lire la F.A.Q., rechercher dans le forum et dans les cours et surtout sur l'ami


    Une fois votre problème résolu n'oubliez pas le tag

    http://www.ententemontignyhandball.com/

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Tout d'abord merci d'avoir répondu si rapidement

    floflo_2006, la solution n'a pas marché car le problème restait dans mouseExited, qui était appellé alors que je restais toujours dans le tableau..

    reno_tidus, merci pour ton idée ça m'a permit de résoudre mon problème. En plus le rendu est bien plus design

    Gaaston

  5. #5
    Membre régulier Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Points : 122
    Points
    122
    Par défaut
    Content d'avoir pu t'aider à résoudre ton problème et bonne continuation pour la suite de ton application.
    Vos questions, c'est sur le forum, pas de M.P.
    Commencez par lire la F.A.Q., rechercher dans le forum et dans les cours et surtout sur l'ami


    Une fois votre problème résolu n'oubliez pas le tag

    http://www.ententemontignyhandball.com/

  6. #6
    Membre éclairé Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Points : 695
    Points
    695
    Par défaut
    Cet effet m'interresse vraiment ,est ce que je pourrais avoir un screenShot pour voir le rendu graphique que ça donne ?
    Where is my mind

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bien sûr, j'ai mis le screenshot en pièce jointe, le voici :

    Nom : zview_screenshot.JPG
Affichages : 69
Taille : 82,4 Ko

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM][Java] Problème avec le retour de getNodeName()
    Par anutka dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 11/04/2012, 21h38
  2. Problème avec MouseListener
    Par taha1 dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 27/07/2009, 11h48
  3. bdd java problème avec ResultSet
    Par moon96 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 28/04/2008, 23h06
  4. [JAXB] XSD to Java - problème avec "xs:any"
    Par Mat1664 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 31/01/2008, 16h19
  5. [MySQL 5 + Java] Problème avec un champ TIME
    Par ultracoxy dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/07/2006, 09h25

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