2015-04-27 51 views
1

我从我的数据库中获取有两列的值。我想单击一个按钮创建条形图并在面板中显示条形图。我如何使用JFreeChart来做到这一点?我正在使用mysql数据库。使用JFreeChart创建带有数据库值的条形图

+1

请大家战利品在[JFreeChart的样品(http://www.jfree.org/jfreechart/samples.html)及其[文件](HTTP:// WWW。 jfree.org/jfreechart/api/javadoc/index.html)来了解它是如何工作的。另外,你能告诉我们你自己试过了什么吗?你的代码在哪里? –

回答

2

我解决了我的问题。只需要读一些关于JFreechart的信息。这里的解决方案:

String toc = ""; 
    int summary = 0; 
    try { 
     DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
     Class.forName(JDBC_DRIVER); 

     con = DriverManager.getConnection(DB_URL, USER, PASS); 

     String query = "Select toc as TypeOfCall,Sum(toc) as SummaryOfCalls from processeddata_table group by toc"; 

     ps = con.prepareStatement(query); 
     rs = ps.executeQuery(); 
     while (rs.next()) { 
      toc = rs.getString("TypeOfCall"); 
      summary = rs.getInt("SummaryOfCalls"); 
      dataset.setValue(summary, toc, toc); 
     } 
     JFreeChart chart = ChartFactory.createBarChart("Call cost", "TypeOfCall", "SummaryOfCalls", dataset, PlotOrientation.VERTICAL, false, true, false); 
     CategoryPlot p = chart.getCategoryPlot(); 

     //p.setRangeGridlinePaint(Color.BLUE); 

     ChartPanel panel = new ChartPanel(chart); 
     panel.setVisible(true); 
     panel.setSize(200, 200); 
     display_graph.add(panel); 

    } catch (ClassNotFoundException | SQLException e) { 

    }