JFreeChart créer des info-bulle dans ChartPanel
Comment puis-je générer une info-bulle sur le graphique de la souris dans JFreeChart
?
J'ai essayé ceci:
chartPanel.setToolTipText("this is the string");
mais cela ne fonctionne pas. Suis-je censé faire autre chose avant? Quelque chose comme ceci:
chartPanel.createToolTip().
Je suis l'appel de ces méthodes dans le chartMouseMoved
événement.
OriginalL'auteur jpo | 2011-07-20
Vous devez vous connecter pour publier un commentaire.
Plus
ChartFactory
méthodes incluent unboolean tooltips
paramètre. Il suffit de regarder dans la source de votre usine de choix pour voir comment instancier un défaut d'info-bulle générateur adapté pour le moteur de rendu. Vous ne devriez pas avoir à gérer les événements de vous-même.Addendum: Comme vous utilisez
createXYLineChart
, une instance deStandardXYToolTipGenerator
est fourni par défaut. LeDEFAULT_TOOL_TIP_FORMAT
est{0}: ({1}, {2})
; laMessageFormat
symboles représentent ladataset
,series
etitem
, respectivement. Vous pouvez utiliser ces symboles dans votre propre générateur, comme le montre cetteXYItemLabelGenerator
, ou vous pouvez remplacergenerateToolTip()
de retourner quoi que ce soit.Addendum: Voici un exemple qui montre juste le
dataset
:J'ai décrits ci-dessus.
Merci. Mais ma chaîne d'info-bulle n'est pas réellement lié à toute série ou d'un dataset, mais sur la position de la souris est une valeur calculée. Disons que je veux afficher les coordonnées de la souris dans un outil de pointe...
Stockez simplement
MouseEvent
de votre écouteur dans votreStandardXYToolTipGenerator
sous-classe.J'ai utilisé le XYItemLabelGenerator, mais la valeur est affichée sur chaque série point plutôt que sur la position de la souris 🙁 Aussi, je peux avoir l'affichage sur le dessus de toute annotation qui peut être sur mon graphique?
OriginalL'auteur trashgod