5
누구나 jfreechart의 그래프에서 마우스 트레이싱을 구현하는 방법을 알려 줄 수 있습니까?Jfreechart에서 마우스 트레이싱을 수행하는 방법은 무엇입니까?
누구나 jfreechart의 그래프에서 마우스 트레이싱을 구현하는 방법을 알려 줄 수 있습니까?Jfreechart에서 마우스 트레이싱을 수행하는 방법은 무엇입니까?
차트 및 플롯이 렌더링되는 ChartPanel
에 ChartMouseListener
을 첨부 할 수 있습니다. 여기 예가 있습니다 :
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.setVerticalAxisTrace (true);를 추가 할 필요가 있습니다. –
도 구현 했습니다만, 축 추적이 흐려지면서 상쾌한 문제가 있습니다. 이 문제를 어떻게 해결할 수 있습니까? –