Jfreechart create tooltip in chartPanel

2019-01-09 18:26发布

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

1条回答
趁早两清
2楼-- · 2019-01-09 19:11

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}"));
查看更多
登录 后发表回答