gpt4 book ai didi

java - 如何在 Jfreechart 中进行鼠标跟踪?

转载 作者:搜寻专家 更新时间:2023-10-31 20:05:48 25 4
gpt4 key购买 nike

谁能告诉我如何在 jfreechart 的图形上实现鼠标跟踪?

最佳答案

您可以将 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);
}
}

关于java - 如何在 Jfreechart 中进行鼠标跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7441214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com