Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java
Interfaces Graphiques en Java Forum d'entraide pour les interfaces graphiques en Java (Swing, AWT, JFace, SWT, Graphisme 2D et 3D, clients riches, ...). Avant de poster -> Les cours sur les Interfaces Graphiques - FAQ GUI Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 10/08/2012, 20h11   #1
Ben2903
Invité de passage
 
Homme
Inscription : juin 2012
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2012
Messages : 23
Points : 0
Points : 0
Par défaut Infobulle sur un point

Bonjour,

J'aimerais savoir s'il est possible de créer une infobulle contenant des informations spécifiques à un point lors du passage de la souris sur celui-ci ?

Merci d'avance.
Ben2903 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2012, 12h28   #2
Robin56
Modérateur
 
Avatar de Robin56
 
Homme Nicolas
Ingénieur développement logiciels
Inscription : juin 2009
Messages : 2 766
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2009
Messages : 2 766
Points : 7 460
Points : 7 460
Via un JToolTip par exemple.
__________________
Robin56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2012, 15h57   #3
Ben2903
Invité de passage
 
Homme
Inscription : juin 2012
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2012
Messages : 23
Points : 0
Points : 0
Merci, en balayant ce document de vue, je suis tombé sur des méthodes qui s'appliquent à des objets hérités de JComponent comme setToolTextTip(String). Cependant, mes points ( que je place sur une carte) sont des objets très particuliers, dérivés de l'interface IDrawable dont l'implémentation est ci contre

Code :
1
2
3
4
5
6
7
8
9
10
11
12
import java.awt.Graphics;
  import java.awt.Rectangle;
  import java.awt.geom.Ellipse2D;
 
  public interface IDrawable {
 
 
  	public void draw(Graphics g);
 
  	public Rectangle getRectangle();
 
  }
et voici ma classe

Code :
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
 import java.awt.Color;
  import java.awt.Dimension;
  import java.awt.Graphics;
  import java.awt.Point;
  import java.awt.Rectangle;
  import java.awt.geom.Ellipse2D;
 
  import javax.swing.JComponent;
 
  public abstract class FormDrawable implements IDrawable {
 
  	protected Rectangle rect;
  	protected Color color;
 
  	public FormDrawable(Color color, Point pos, Dimension dim){
  	this.color=color;
  	this.rect = new Rectangle(pos,dim);
  	}
 
  	public abstract void draw(Graphics g);
 
  	public Rectangle getRectangle(){
  	return (Rectangle) rect.clone();
  	}
 
 
  }
et je dérive encore une fois pour avoir ceci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.awt.Color;
  import java.awt.Dimension;
  import java.awt.Graphics;
  import java.awt.Point;
 
  public class RectangleDrawable extends FormDrawable{
 
  	public RectangleDrawable(Color color, Point pos, Dimension dim) {
  	super(color, pos, dim);
 
  	}
 
  	public void draw(Graphics g) {
  	Color c = g.getColor();
  	g.setColor(color);
  	g.fillRect(rect.x,rect.y,rect.height,rect.width);
  	g.setColor(c);
  	}
 
 
  }
Je vois pas comment adapter ces méthodes à mes points
Ben2903 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2012, 11h38   #4
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 633
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 633
Points : 12 433
Points : 12 433
Ajoute une méthode contains à ton interface IDrawable.

Méthode prenant en paramètre un point et renvoyant true/false si le point est à l'intérieur/à l'extérieur de ton IDrawable (de faite, il suffit de déléguer à la méthode contains de ton Rectangle).

Puis d'ajouter également à ton interface une méthode getToolTipContent renvoyant une chaîne à afficher en tooltip.

Puis, en utilisant un vieux combo MouseListener/MouseMotionListener sur ton composant principal, tu boucle sur tes formes en demandant si le point courant de la souris est contenu dans un de tes IDrawable (méthode contains).

Si c'est le cas, tu récupère le contenu affichable dans ton IDrawable.

Puis où tu utilises les tooltip de java: http://www.exampledepot.com/egs/java...oolTipLoc.html
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h58.


 
 
 
 
Partenaires

Hébergement Web