【发布时间】:2015-09-13 15:11:41
【问题描述】:
我使用 Swing GUI 为一家电脑商店(虚构)设计了一个库存/销售信息系统。其中一个功能是显示某些产品在一年内的销售情况的基本条形图。
从名为 dbsales 的 MySQL 数据库调用数据,并使用 jComboBox (cboAnSales) 选择产品类别。
我有一个方法 (public void graph()),它具有生成图形的编码。
项目的数据显示在文本字段中,图表使用该信息进行显示。该方法在每个类别的cboAnSalesif 语句中调用。
现在的问题是它在自己的图表上生成每个项目。例如,电缆类别中有 7 个项目,当我选择它时,它会生成 7 个图表(每个项目一个)。
我需要将所有 7 个项目显示在一个图表上。
我怎样才能做到这一点?
这是 cboAnSales 的电缆部分:
private void cboAnSalesActionPerformed(java.awt.event.ActionEvent evt) {
if (cboAnSales.getSelectedIndex() == 1)
{
try
{
String sql = "select * from dbsales where category ='" + "Cable" + "'";
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/salventri","root","password");
Statement stmt=con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
DefaultListModel model = new DefaultListModel();
while(rs.next())
{
String ID = rs.getString("pid");
txtpid.setText(ID);
String brand = rs.getString("pbrand");
txtBrand.setText(brand);
String name = rs.getString("pname");
txtName.setText(name);
String category = rs.getString("category");
txtCategory.setText(category);
String unitSold = rs.getString("usold");
txtUnitsSold.setText(unitSold);
graph();
}
}
catch (Exception e)
{
}
}
这是public void graph() 方法中我的图表的编码:
String unitsSold = txtUnitsSold.getText();
String brand = txtBrand.getText();
String name = txtName.getText();
String cat = txtCategory.getText();
DefaultCategoryDataset ddataset = new DefaultCategoryDataset();
ddataset.setValue(new Double(unitsSold), cat, brand + " " + name);
JFreeChart chart = ChartFactory.createBarChart3D("Annual Sales Performance", cat, "Number of Units Sold", ddataset);
chart.getTitle().setPaint(Color.RED);
CategoryPlot p = chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.BLUE);
ChartFrame frame2 = new ChartFrame("Annual Sales", chart);
frame2.setVisible(true);
frame2.setSize(450,350);
【问题讨论】:
-
没有数据集 addvalue 或 ... addSeries 吗?
-
@D-Klotz 我实际上尝试使用数组来实现这一点并将其作为另一个问题发布,但我得到的答案实际上非常适合我在这里提出的问题并且它有效。我现在刚刚在下面发布了答案。但是感谢您的回复:)
标签: java sql swing netbeans graph