Java 如何在Jfreechart中进行鼠标跟踪?
有人能告诉我如何在jfreechart中的图形上实现鼠标跟踪吗?您可以将Java 如何在Jfreechart中进行鼠标跟踪?,java,jfreechart,Java,Jfreechart,有人能告诉我如何在jfreechart中的图形上实现鼠标跟踪吗?您可以将ChartMouseListener附加到ChartPanel,在该面板上显示图表和绘图。以下是一个例子: public class JFreeChartTest extends JFrame { private static JFreeChart createPieChart(){ // Some dataset to display DefaultPieDataset data
ChartMouseListener
附加到ChartPanel
,在该面板上显示图表和绘图。以下是一个例子:
public class JFreeChartTest extends JFrame {
private static JFreeChart createPieChart(){
// Some dataset to display
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("Java", new Double(45.0));
data.setValue("C++", new Double(20.0));
data.setValue("Visual Basic", new Double(0.0));
// Chart creation
return ChartFactory.createPieChart("Pie Chart", // title
data, // data
true, // include legend
true, false);
}
public JFreeChartTest(){
initialize();
}
private void initialize(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
JPanel contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(10, 10, 10, 10));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
{
final ChartPanel chartPanel = new ChartPanel((JFreeChart)null);
contentPane.add(chartPanel, BorderLayout.CENTER);
final JFreeChart pieChart = createPieChart();
chartPanel.setChart(pieChart);
chartPanel.addChartMouseListener(new ChartMouseListener() {
@Override
public void chartMouseClicked(final ChartMouseEvent event){
System.out.println("chartMouseClicked");
}
@Override
public void chartMouseMoved(final ChartMouseEvent event){
int newX = event.getTrigger().getX();
int newY = event.getTrigger().getY();
System.out.println("chartMouseMoved to " + newX + " " + newY);
}
});
}
}
public static void main(String[] args){
JFreeChartTest frame = new JFreeChartTest();
frame.setVisible(true);
}
}
谢谢你能告诉我如何实现——当鼠标跟踪时,指针显示在曲线上,它像在股市图形中一样在移动鼠标上在线移动??这个功能是内置的。您只需要添加
chartPanel.setHorizontalAxisTrace(true)代码>和chartPanel.SetVerticalExistrace(真)代码>我也实现了它,但当轴轨迹变得模糊时,会出现刷新问题。你能告诉我怎么解决吗?你的问题离题了。如果您需要帮助,请创建一个新问题并详细描述您的新问题。使用图形上显示的轴跟踪线,是否有任何方法可以在鼠标移动时仅显示图形上的点而不是跟踪线?