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

Interfaces Graphiques en Java Discussion :

Infobulle sur un point


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    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.

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Via un JToolTip par exemple.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
     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 : 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
    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

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    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

Discussions similaires

  1. Infobulle sur un point
    Par darkman19320 dans le forum Qwt
    Réponses: 0
    Dernier message: 06/05/2011, 12h00
  2. Réponses: 5
    Dernier message: 28/02/2006, 16h07
  3. InfoBulles sur image mappée mais ayant subie un rollover
    Par shadokk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/02/2006, 07h46
  4. [VB.Net][Treeview] infobulle sur un noeud
    Par plasticgoat dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/11/2005, 16h13

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