获取总销售量
在多数情况下,销售列表中会有很多个记录,所以访问数据库的快捷性和高效性显得非常重要。现在我们只需要访问数据库中每一种产品的总额销售量。 表C中的getSales()方法与数据库连接并返回一个数组,这个数组包含每一种产品的总额出售量。
Listing C
//////////////////////////////////////////////////////////// //Get the sales totals from the database //////////////////////////////////////////////////////////// public float[] getSales(int products) { float[] arr = new float[products]; Connection con; Statement stmt; ResultSet rs; int count = 0; String sql = "select productID, amount from p_sales"; try { //Load Driver: Class.forName(driver); //Connect to the database with the url con = DriverManager.getConnection(dburl , dbuid , dbpwd); stmt = con.createStatement(); //Get ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { int product = rs.getInt("productID"); //Check that the productID is valid if (product >= 0 && product < products) { //Add to product total arr[product] += rs.getFloat("amount"); count++; } } stmt.close(); con.close(); } catch (java.lang.Exception ex) { arr[0] = -1.0f; } return arr; } |
当getSales()遍历所有的记录后,它只存储的是每一种产品新的出售量:
int product = rs.getInt("productID"); arr[product] += rs.getFloat("amount"); |
pieColor对象
饼状图形上的每一种产品应该以不同的颜色显示。为了达到这一目的,我们建立一个pieColor对象(如表D)所示,这一对象包含有关颜色的数组:
Color pieColorArray[] = {new Color(210,60,60), new Color(60,210,60)…} |
pieColor类定义了一个setNewColor()的方法,这一方法能够使curPieColor和索引递增,同时它可以检查索引不要超过边界范围,即采用的方法是:如果curPieColor过大即赋0值。
更有效的是,setNewColor()循环每一种颜色后,并在第一种颜色下执行以下的代码:
curPieColor++; if(curPieColor >= pieColorArray.length) {curPieColor = 0;} |
RenderingHints和antialiasing类
java.awt.RenderingHints类定义了很多方法以显示二维图形,包括alpha_interpolation, 抖动,以及antialiasing方法。RenderingHints有助于决定图形如何显示以及图形如何达到最佳处理。
为了能以平滑显示,可以使用antialiasing方法来处理饼状图形。Antialiasing是一种图形的平滑处理方法。其算法是选择一个特殊象素的颜色值并取代交叉处的象素,从而能够使线条交叉处得到平滑化。
图A说明了antialiasing方法的效果。可以看出使用antialiasing方法的饼状图形的线条交叉处变得很平滑。
图A
同时,还可以建立一个RenderingHints对象,并传递到Graphics2D setRenderingHints()方法,如下所示:
RenderingHints renderHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setRenderingHints(renderHints); |
 
2/2 首页 上一页 1 2 |