我使用代码来显示图表。 代码:
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]
当我点击诺基亚或阿尔卡特的图表的一部分时,我想要...另一个窗口显示有关我所点击的部分的信息(详细信息)。 谢谢。
答案 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