JAVA实现在面板中添加图表_java-将按钮插入JFreeChart图

这篇博客探讨了如何在使用Java和JFreeChart创建的饼状图中插入一个按钮,以便显示图形相关详细信息的方法。通过连接数据库获取数据,利用DefaultPieDataset和PieChart3D创建图表,并尝试在图表面板上添加组件展示更多信息。

我使用了代码来显示图形.

我想在此图中插入一个按钮(显示详细信息),以显示有关该图形的一些详细信息.可以实现吗?

谢谢.

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);

}

}

题目1:基于Swing的学生管理系统 ------------------------- 作业要求: 1、建立数据库student_mgr,建立学生表student(id,姓名、学号、年龄),其中id为主键和自增字段、课程表course(id,名称,教师),其中id为主键和自增字段、成绩表score(学生id,课程id,成绩); 2、采用swing搭建应用成绩,采用Tab页形式区分学生管理、课程管理和成绩管理界面,每个界面顶部显示:”作者:个人学号+姓名“。 3、学生管理界面顶部显示刷新、添加、删除、修改按钮。下部采用表格形式显示学生学号、姓名和年龄信息。 刷新按钮功能:重新加载学生信息到表格中; 添加按钮功能:弹出界面输入学号、姓名、年龄,并插入到学生表student中; 删除按钮功能:选择某行记录,从数据库中删除该姓名和学号的学生记录; 修改按钮功能:选择某行记录,弹出界面显示当前行学生姓名、学号和年龄,用户修改某项后,点击确定按钮更新数据库中对应数据。 4、课程管理界面顶部显示刷新、添加、删除、修改按钮。下部采用表格形式显示课程名称和教师信息。 刷新按钮功能:重新加载课程信息到表格中; 添加按钮功能:弹出界面输入名称和教师,并插入到课程表course中; 删除按钮功能:选择某行记录,从数据库中删除选择的课程记录; 修改按钮功能:选择某行记录,弹出界面显示当前行课程名称和教师,用户修改某项后,点击确定按钮更新数据库中对应数据。 5、成绩管理界面顶部显示刷新、添加、删除、修改按钮。下部采用表格形式显示学生名称,课程名称和成绩信息。 刷新按钮功能:重新加载课程信息到表格中; 添加按钮功能:弹出界面以下拉列表框选择学生名称和课程名称,填写成绩信息,并插入到成绩表score中,要求score表中保存学生id和课程id,不保存名称; 删除按钮功能:选择某行记录,从数据库中删除选择的成绩记录; 修改按钮功能:选择某行记录,弹出界面以下拉列表框选择显示当前行学生名称和课程名称,以文本框显示成绩,用户修改某项后,点击确定按钮更新数据库中对应数据,要求score表中保存学生id和课程id,不保存名称。
最新发布
05-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值