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

Composants Java Discussion :

JCheckBox comment afficher un tooltip ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut JCheckBox comment afficher un tooltip ?
    Bonjour,

    Je tente d'afficher un tooltip sur une case à cocher mais sans succès.

    J'ai posé un point d'arrêt dans une classe qui étend un JCheckBox et je ne passe jamais par getToolTipText qui a été surchargé dans la classe.

    Est ce que j'oublie quelque chose, faut il implémenter une interface particulière pour obtenir un tooltip ?

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, il n'y rien de particulier à faire, peut-être une erreur dans ton code?

    Pourquoi surcharger getToolTipText plutôt que d'appeler setToolTipText dans le constructeur de ton composant?

  3. #3
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    le tooltip peut être dynamique, c'est pourquoi je ne l'ai pas initialisé dans le constructeur

    Cependant je viens de tester en appelant explicitement setToolTipText dans le constructeur et je n'ai toujours aucun tooltip.

    En fait le getToolTipText, de mon composant ou du parent ne semble pas appelé du tout.

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Pourrait-on voir ton code?

  5. #5
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    j'ai pu simplifier au maximum avec absolument tout le code métier supprimé. Il y a de plus un main qui permet de lancer une frame avec la checkbox.

    Le tooltip "toto" n'apparait pas au survol de la souris.

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
    package toto.beans;
     
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
     
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.WindowConstants;
     
    /**
     * <p>
     * Titre : SgfCheckboxBean
     * </p>
     * 
     * @author non attribué
     * @version 1.0
     */
    public class SgfCheckboxBean extends JCheckBox implements MouseListener
    {
     
        public static void main(String[] args)
        {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            frame.getContentPane().add(new SgfCheckboxBean());
     
            frame.pack();
            frame.setVisible(true);
     
        }
     
        //==========================================================================
        // =//
        // constructeur //
        //==========================================================================
        // =//
        public SgfCheckboxBean()
        {
            super();
            try
            {
                jbInit();
     
            } catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
     
        //==========================================================================
        // ==//
        // jbInit //
        //==========================================================================
        // ==//
        private void jbInit() throws Exception
        {
            this.setOpaque(false);
     
            // le composant s'enregistre auprès de lui même pour écouter les
            // évènements de type MouseEvent .
            this.addMouseListener(this);
     
     
            this.setFocusTraversalKeysEnabled(false);
            this.setFocusable(false);
        }
     
        /**
         * 
         * @return le tooltip traduit selon la bonne locale
         * @see javax.swing.JComponent#getToolTipText()
         */
        public String getToolTipText()
        {
            System.out.println("getToolTipText");
            return "toto";
        }
     
        /* (non-Javadoc)
         * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
         */
        public void mousePressed(MouseEvent mouseEvent)
        {
        }
         /* (non-Javadoc)
         * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
         */
        public void mouseReleased(MouseEvent mouseEvent)
        {
        }
     
         /* (non-Javadoc)
         * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
         */
        public void mouseClicked(MouseEvent mouseEvent)
        {
        }
     
        /* (non-Javadoc)
         * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
         */
        public void mouseEntered(MouseEvent mouseEvent)
        {
        }
     
     
        /* (non-Javadoc)
         * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
         */
        public void mouseExited(MouseEvent mouseEvent)
        {
        }
    }

  6. #6
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    Je pense avoir trouvé la réponse dans l'implémentation de JComponent:
    a priori c'est le setToolTipText qui inscrit le composant auprès du ToolTipManager donc si on l'appelle pas, le composant est pas enregistré.
    Par contre si on le met, le setToolTipText recherche l'ancienne valeur en faisant un appel a getToolTipText et cet appel ne renvoie pas null, du coup le composant n'est pas enregistré non plus dans ce cas la.
    Bref, soit je m'inscris moi même, soit j'utilise le setToolTipText dans l'initialisation

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

Discussions similaires

  1. Comment afficher correctement des Balloon ToolTip sur des contrôles?
    Par NicolasJolet dans le forum Windows Forms
    Réponses: 22
    Dernier message: 31/12/2021, 14h42
  2. Réponses: 4
    Dernier message: 19/11/2007, 09h03
  3. [debutant] Comment afficher un integer a l'ecran
    Par Johngame dans le forum DirectX
    Réponses: 1
    Dernier message: 05/06/2003, 20h35
  4. Comment afficher FLASH directement dans le EMAIL
    Par Bilmagic dans le forum Flash
    Réponses: 3
    Dernier message: 05/06/2003, 00h38
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 13h57

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