2011-07-20 1 views
3

JFreechartのチャート上でツールチップを生成するにはどうすればよいですか? 試しましたJfreechartはchartPanelでツールチップを作成します

chartPanel.setToolTipText("this is the string"); 

これは機能しません。私は以前何か他のことをやろうとしていますか? like

chartPanel.createToolTip(). 

私はこれらのメソッドをchartMouseMovedイベントで呼び出しています。 ありがとう

答えて

6

ほとんどのChartFactoryメソッドは、boolean tooltipsパラメータを含みます。指定したレンダラーに適したデフォルトのツールチップジェネレーターをインスタンス化する方法を知るために、選択したファクトリーのソースを調べてください。自分でイベントを処理する必要はありません。

補足:createXYLineChartを使用しているため、デフォルトでStandardXYToolTipGeneratorのインスタンスが指定されています。 DEFAULT_TOOL_TIP_FORMAT{0}: ({1}, {2})です。 MessageFormatはそれぞれdataset,seriesおよびitemを表す。これらのシンボルは、このXYItemLabelGeneratorに示すように、独自のジェネレータで使用することも、何かを返すようにgenerateToolTip()を上書きすることもできます。

補遺:ここだけdatasetを示し例です:

XYPlot plot = chart.getXYPlot(); 
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); 
renderer.setLegendItemToolTipGenerator(
    new StandardXYSeriesLabelGenerator("Legend {0}")); 
+0

おかげで、。私はcreateXYLineChartを使用して、tooltipプロパティをtrueに設定しています。しかし、どのように各ツールチップに何を表示するかを定義しました。私はchartmouseclickとchartMouseMovedでこれを試みましたが、これはうまくいかなかった。私は上記の方法を使って試しました。 – jpo

+1

私は上記で詳しく述べました。 – trashgod

+0

ありがとうございます。しかし、私のツールチップの文字列は、実際にはどのシリーズやデータセットにも関係しませんが、マウスの位置と計算された値に関係しています。私は、ツールチップにマウス座標を表示したいとしましょう... – jpo

関連する問題