2011-09-16 3 views

답변

5

차트 및 플롯이 렌더링되는 ChartPanelChartMouseListener을 첨부 할 수 있습니다. 여기 예가 있습니다 :

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); 
    } 
}  
+0

감사합니다. 구현하는 방법을 알려주십시오. - 마우스를 추적하는 동안 포인터가 주식 시장 그래프처럼 움직이는 마우스에서 라인을 따라 이동하는 그래프 라인에 표시됩니까? –

+3

이 기능이 내장되어 있습니다. 당신은'chartPanel.setHorizontalAxisTrace (true);와'chartPanel.setVerticalAxisTrace (true);를 추가 할 필요가 있습니다. –

+0

도 구현 했습니다만, 축 추적이 흐려지면서 상쾌한 문제가 있습니다. 이 문제를 어떻게 해결할 수 있습니까? –

관련 문제