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 :

Tooltip sur une JInternalFrame


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut Tooltip sur une JInternalFrame
    Bonjour,

    Je me sens un peu bête de poser cette question, mais j'arrive pas à déclencher l'affichage d'un tooltip sur la barre de titre d'une JInternalFrame...

    Quelqu'un pourrait m'aider?

    J'ai essayé le setTooltipText() et le getTooltipText(MouseEvent), mais ça ne l'affiche que lorsque je suis sur les bords de ma JInternalFrame et pas sur la barre des titres.

    Je suis un gros nul ou y'a une subtilité que j'ai zappé?

  2. #2
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Essaie ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taJInternalFrame.getJMenuBar().setTooltipText(...);

  3. #3
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Citation Envoyé par herve91
    Essaie ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taJInternalFrame.getJMenuBar().setTooltipText(...);
    Malheureusement, ça me met une NullPointerExcepetion...
    Ce qui est normal puisque je n'ai pas de barre de menu. Moi c'est sur la barre de titre que je veux une réaction...

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    J'ai une idée qui va te plaire ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taJInternalFrame.getGlassPane().setToolTipText(...);
    Vu que le GlassPane recouvre la barre de titre, ça devrait marcher.

  5. #5
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Effectivement, ça me plaît... pô
    Je brûle le prochain qui me parle de GlassPane

    En fait, le problème, c'est que si je fais ça, ça me mettra le toolTip partout dans ma JInternalFrame.
    Or ça, je ne veux pas...

    Et puis j'ai décider de banir ce composant maléfique de mon vocabulaire...

  6. #6
    Membre actif Avatar de schneidb
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 236
    Points : 240
    Points
    240
    Par défaut
    On ne peut pas contourner l'affaire en créant un toolTip? c un composant comme un autre, reste le problème de son affiche.

    http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JToolTip.html#JToolTip()

  7. #7
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Moi je veux bien, mais faut quand même que je sache quand je suis sur ma barre de titre...
    Et si je dois scruter à tout moment si la souris se trouve dans la partie supérieure de ma fenêtre, ça va faire encore plus ramer mon appli...
    Sachant que c'est déjà un problème... re

  8. #8
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bon, ca y est, j'ai une solution qui tient à peu près la route.
    C'est du bricolage, et elle ne sera valable que pour l'UI que tu utilises. Si tu changes d'UI, il faudra recommencer.

    Si tu es en BasicUI (ca marche aussi pour le MetalUI) :
    - tu crées une classe héritant de BasicInternalFrameUI (resp. MetalInternalFrameUI)
    - cette classe contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public MyInternalFrameUI(JInternalFrame jif) {
      super(jif);
    }
     
    public void installComponents() {
      super.installComponents();
      titlePane.setToolTipText("Yeeehaaaah !!");
    }
    - tu te débrouilles pour que l'UI par défaut des JInternalFrames soit cette classe

    [EDIT] ca ne marche pas avec le MetalUI parce que titlePane est privé.

  9. #9
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Ou plutot, la meme en plus propre (tu n'as peut etre pas envie de créer une UI, et ca marche aussi avec le MetalUI):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BasicInternalFrameUI ui = (BasicInternalFrameUI)maJIF.getUI();
    ui.getNorthPanel().setToolTipText("Ca y est !!");

  10. #10
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Citation Envoyé par xavlours
    Ou plutot, la meme en plus propre (tu n'as peut etre pas envie de créer une UI, et ca marche aussi avec le MetalUI):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BasicInternalFrameUI ui = (BasicInternalFrameUI)maJIF.getUI();
    ui.getNorthPanel().setToolTipText("Ca y est !!");
    Nickel! Merci beaucoup!
    Mais franchement, je sais pas comment t'as fait pour trouver ça.
    Respect...

  11. #11
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut

    J'ai trafiqué les UI des scrollBar y'a pas longtemps. Et mine de rien, ca aide à comprendre Swing.
    Et comme une JInternalFrame n'est pas une fenetre système, la barre de titre est forcément un JComponent. Et si elle n'est pas accessible par la JInternalFrame, elle doit l'etre par son UI.

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

Discussions similaires

  1. Tooltip sur une progressBar
    Par Lelio1407 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 10/11/2009, 14h41
  2. Tooltips sur une rectangle
    Par MeDReD dans le forum Composants
    Réponses: 4
    Dernier message: 23/06/2008, 23h29
  3. Réponses: 2
    Dernier message: 11/06/2008, 17h20
  4. [Javascript / PHP] Tooltip sur une ligne php
    Par tchoukapi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/10/2005, 17h12
  5. Ajouter un tooltip sur une image
    Par K4sh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 14/10/2005, 19h12

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