setToolTipText mais pas pour un JComponent

setToolTipText mais pas pour un JComponent - Java - Programmation

Marsh Posté le 17-03-2005 à 13:15:26    

salut!
je cherche un équivalent de setToolTipText() (ca affiche une "bulle" quand on survole un composant pour ceux qui ne savent pas) pour le survol d'une certaine zone d'un panel : j'ai une carte avec des villes et j aimerais que quand je survole un point (une coordonnée a + ou - 5 pixels) ca affiche le nom de cette ville. Donc qu'est qu'il faut que je rajoute dans mon écouteur MouseMotionListener (MouseMoved) pour pouvoir faire apparaitre une telle bulle ?
 
dans le meme style je cherche aussi un moyen de changer l apparence du curseur souris au survol de ces villes.
 
merci de votre aide !

Reply

Marsh Posté le 17-03-2005 à 13:15:26   

Reply

Marsh Posté le 17-03-2005 à 13:30:54    

bah tu fait un setTooltipText("nomVille" ) en entrant dans le point de la ville et un setTooltipText(null) en sortie du point de la ville ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-03-2005 à 19:03:09    

oui ben en fait ca marche bien le setToolTipText, c'est chez moi que ca marche po je sais pas pourquoi(si toi ou quelqu un d'autre sait pourquoi...) mais y a un ptit probleme c'est que par exemple une fois que ca a affiché le nom de la ville ben ou que j aille (sauf si je vais sur une autre ville) la bulle apparait tout le temps et n importe ou mais je pense qu'il faut palier a ca comme tu me l as dis par un setTool..(null) c'est bien ca ?

Reply

Marsh Posté le 18-03-2005 à 09:40:42    

ou tu fait ta propre implementation en utilisant jpopupmenu :o

Reply

Marsh Posté le 18-03-2005 à 19:53:44    

je ne comprend pas pourquoi chez moi le setToolTipText ne marche pas...y aurait il un probleme dans le fait que le setTool soit dans un écouteur et non pas dans le composant (qui est un panel) lui-meme ???
 
m'y prend-je mal ??? (je suis débutant)
 

Citation :


addMouseMotionListener(new MouseMotionAdapter(){
   public void mouseMoved (MouseEvent e){
      x=e.getX();
      y=e.getY();
 setToolTipText(null);
 for(int i=0;i<nbclics;i++){
 //la zone doit etre de plusieurs pixels
    for (int cx=x;cx>(x-6);cx--){
      for (int cy=y;cy>(y-6);cy--){
  if (cx==abs[i] && cy==ord[i]){          setToolTipText("ville : "+ville[i]);
     break;
  }
       }
    }
 }    
     }
});


 
edit : desolé pour la mise en forme...


Message édité par niiico le 18-03-2005 à 20:04:38
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed