显示有关图形部分的信息

时间:2015-05-13 09:03:35

标签: java

我使用代码来显示图表。 代码:

if(jCheckBox3.isSelected()){
   try{
      con = getConnection("jdbc:mysql://localhost:3306/base_rapport","root","");
      Statement statement = con.createStatement(rs.TYPE_FORWARD_ONLY,rs.CONCUR_READ_ONLY);
      String sql3 = "Select Vendor, sum(Rate) as Rate from (select case Vendor when 'NSN' then 'Nokia' else Vendor end as Vendor, Rate from  (  Select vendor ,(count(1) )*100/(Select count(id_incident)from incident where open_time between '"+jTextField1.getText()+"' and'"+jTextField2.getText()+"' and vendor !='') as Rate  from incident   where open_time between '"+jTextField1.getText()+"'and'"+jTextField2.getText()+"' and vendor !='' group by upper(vendor) ) as x ) as y group by vendor";

      rs3= statement.executeQuery(sql3);
      DefaultPieDataset pieDataset = new DefaultPieDataset(); 
      while(rs3.next()){      


         pieDataset.setValue( rs3.getString("vendor"),rs3.getDouble(2));


      }
      JFreeChart chart = ChartFactory.createPieChart3D("Disfonctionnement par fournisseurs",  pieDataset, true, true, true); 
      PiePlot3D piePlot3d = (PiePlot3D) chart.getPlot();
      piePlot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}"));
      fenetre fen3 = new fenetre();
      JPanel pnl = new JPanel(new BorderLayout()); 
      fen3.setContentPane(pnl); 
      fen3.setVisible(true);
      fen3.setSize(500, 500); 
      ChartPanel cPanel1 = new ChartPanel(chart);    
      pnl.add(cPanel1);
      File fichier = new    File("C:\\Users\\alaeddine.zammeli.st\\Desktop\\résultat_application\\Répartition par fournisseur de '"+jTextField1.getText()+"' à '"+jTextField2.getText()+"'.png"); 
      try { 
         ChartUtilities.saveChartAsPNG(fichier, chart, 500, 500); 
      } catch (IOException e) { 
         e.printStackTrace(); 
      } 
   }
   catch (Exception e) {
      JOptionPane.showMessageDialog(this,e);
   }

}

![C:\ Users \ nabil.khedhri.stg \ Desktop \résultat_application\ Disfonctionnement par fournisseursde'2015-03-01'à'2015-03-31'.jpg]

当我点击诺基亚或阿尔卡特的图表的一部分时,我想要...另一个窗口显示有关我所点击的部分的信息(详细信息)。 谢谢。

1 个答案:

答案 0 :(得分:0)

如果您使用IDE将图像放在与包含src和bin的目录相同的目录中,然后替换

File fichier = new    File("C:\\Users\\alaeddine.zammeli.st\\Desktop\\résultat_application\\Répartition par fournisseur de '"+jTextField1.getText()+"' à '"+jTextField2.getText()+"'.png"); 

File fichier = new File(jTextField1.getText()+"' à '"+jTextField2.getText()+"'.png"); 

或者你也可以使用用户的主目录System.getProperty(" user.home")+" /" FOLDER