2009-09-17 4 views
0

Le programme que j'écris comporte une interface graphique Swing et plusieurs composants ont des info-bulles. Ceux-ci sont tous sur les composants JButton, JCheckBox et JRadioButton, ils sont définis en utilisant la méthode setToolTipText et tous fonctionnent parfaitement. Je viens d'essayer d'en ajouter un à un composant personnalisé qui étend JPanel en utilisant la même méthode et aucune info-bulle n'apparaît. Le JPanel contient 2 composants JLabel et un JSlider. J'ai essayé de remplacer la méthode setToolTipText et ensuite l'utiliser pour appeler setToolTipText sur le curseur. Cela n'a pas fonctionné non plus.La barre d'outils Java n'affiche pas

public void setToolTipText(String text) { 
    super.setToolTipText(text); 
    slider.setToolTipText(text); 
} 

Est-ce que je fais quelque chose de mal? ou ne pouvez-vous pas avoir une info-bulle sur un JSlider ou JPanel. J'aurais pensé que cela devrait fonctionner sur tout ce qui étend JComponent.

La commande est désactivée au démarrage du programme même si, même après son activation, il n'y a toujours pas d'info-bulle si cela est pertinent. Il n'a pas vraiment besoin de le montrer tant que le contrôle n'est pas activé.

Merci.

+0

J'ai trouvé le problème. C'était de la bêtise par moi. Rien de mal avec le code du tout. –

Répondre

0

Essayez de faire l'appel suivant:

ToolTipManager.sharedInstance().registerComponent(customComponent); 
+0

Cela n'a pas fonctionné. Je l'ai essayé avec le curseur aussi bien mais toujours rien. –

1

paramètres Essayez le infobulle aux JLabels ainsi. ils peuvent entraver le JPanel.

+0

Toujours rien: ( –

+2

pouvez-vous créer un programme Java minimal qui reproduit le problème et le poster ici? –

+0

Je viens de faire un et il travaille dans ce, devra voir ce que je fais différemment. –

Questions connexes