package bean.biz;
import java.awt.Font;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import org.jfree.data.time.Day;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.title.TextTitle;
import bean.pojo.MemberList;
public class Util {
private static MemberList member;
public static MemberList getData(String name) {
member = new MemberList();
try
{
Connection conn = UtilDao.getConn();
String sql = "select * from memberList where member_name='"+name+"'";
Statement state = conn.createStatement();
ResultSet rs = state.executeQuery(sql);
if (rs.next())
{
member.setMember_id(rs.getInt(1));
member.setMember_name(rs.getString("member_name"));
member.setJan_count(rs.getInt("jan_count"));
member.setFeb_count(rs.getInt("feb_count"));
member.setMar_count(rs.getInt("mar_count"));
member.setApr_count(rs.getInt("apr_count"));
member.setMay_count(rs.getInt("may_count"));
member.setJune_count(rs.getInt("june_count"));
member.setJuly_count(rs.getInt("july_count"));
member.setAug_count(rs.getInt("aug_count"));
member.setSep_count(rs.getInt("sep_count"));
member.setOct_count(rs.getInt("oct_count"));
member.setNov_count(rs.getInt("nov_count"));
member.setDec_count(rs.getInt("dec_count"));
}
rs.close();
state.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return member;
}
public static JFreeChart createTimeSeriesChart(MemberList member)
{
String name = member.getMember_name();
String title = "会员"+name+"2010年音乐下载量统计";
TimeSeries series = new TimeSeries("月下载量");
series.add(new Day(1,Month.JANUARY,2010),member.getJan_count());
series.add(new Day(1,Month.FEBRUARY,2010),member.getFeb_count());
series.add(new Day(1,Month.MARCH,2010),member.getMar_count());
series.add(new Day(1,Month.APRIL,2010),member.getApr_count());
series.add(new Day(1,Month.MAY,2010),member.getMay_count());
series.add(new Day(1,Month.JUNE,2010),member.getJune_count());
series.add(new Day(1,Month.JULY,2010),member.getJuly_count());
series.add(new Day(1,Month.AUGUST,2010),member.getAug_count());
series.add(new Day(1,Month.SEPTEMBER,2010),member.getSep_count());
series.add(new Day(1,Month.OCTOBER,2010),member.getOct_count());
series.add(new Day(1,Month.NOVEMBER,2010),member.getNov_count());
series.add(new Day(1,Month.DECEMBER,2010),member.getDec_count());
XYDataset data = new TimeSeriesCollection(series);
JFreeChart chart = ChartFactory.createTimeSeriesChart(title,"时间","下载量",data,true,true,false);
//设置标题字体
TextTitle temp = new TextTitle(title,new Font("隶书",Font.ITALIC,20));
chart.setTitle(temp);
XYPlot plot = (XYPlot) chart.getPlot();
//纵轴字体
plot.getRangeAxis().setLabelFont(new Font("宋体", Font.BOLD, 15));
//横轴框里的标题字体
chart.getLegend().setItemFont(new Font("宋体", Font.ITALIC, 12));
//横轴列表字体
plot.getDomainAxis().setTickLabelFont(new Font("新宋体", 1, 12));
//横轴小标题字体
plot.getDomainAxis().setLabelFont(new Font("新宋体", 1, 15));
return chart;
}
public static void main(String[] args) {
Util util = new Util();
member = util.getData("李四");
//System.out.println(member.getMay_count());
JFreeChart chart = Util.createTimeSeriesChart(member);
ChartFrame frame = new ChartFrame("statistic",chart,true);
frame.pack();
frame.setVisible(true);
}
}
- 1
- 2
- 3
- 4
前往页