How can I generate a tooltip on chart mouse over in JFreechart?
I tried
chartPanel.setToolTipText("this is the string");
but this does not work. Am i supposed to do something else before? something like
chartPanel.createToolTip().
I am calling these methods in the chartMouseMoved event.
Thanks
Most ChartFactory
methods include a boolean tooltips
parameter. Just look in the source for your factory of choice to see how to instantiate a default tooltip generator suitable for the designated renderer. You shouldn't need to handle the events yourself.
Addendum: As you are using createXYLineChart
, an instance of StandardXYToolTipGenerator
is supplied by default. The DEFAULT_TOOL_TIP_FORMAT
is {0}: ({1}, {2})
; the MessageFormat
symbols represent the dataset
, series
and item
, respectively. You can use these symbols in your own generator, as shown in this XYItemLabelGenerator
, or you can override generateToolTip()
to return anything at all.
Addendum: Here's an example that shows just the dataset
:
XYPlot plot = chart.getXYPlot();
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
renderer.setLegendItemToolTipGenerator(
new StandardXYSeriesLabelGenerator("Legend {0}"));