📄 showview.java
字号:
package com.jn0801.company;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;
import com.jn0801.company.dao.ViewBean;
/**
* 这是构造集团视图的方法
* @author zjj
*
*/
public class ShowView {
public void view(ViewBean viewBean, OutputStream output) {
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy");
String mydate = dateFormat.format(date);
String totletitle = mydate + viewBean.getTotletitle(); //总标题
String ytitle = viewBean.getYtitle(); //Y轴标题
String xtitle = viewBean.getXtitle(); //X轴标题
int minmonth = Integer.parseInt(viewBean.getMinmonth()); //最小月份
int maxmonth = Integer.parseInt(viewBean.getMaxmonth()); //最大月份
Map map = viewBean.getMap(); //月份和话费的键值对集合
//每一个TimeSeries在图上是一条曲线
TimeSeries ca = new TimeSeries(viewBean.getCompanyname());
//将每个月所对应的值存入ca
for (int mon = minmonth; mon <= maxmonth; mon++) {
ca.add(new TimeSeriesDataItem(new Day(1, mon, Integer
.parseInt(mydate)),
new Double(String.valueOf(map.get(String.valueOf(mon))))));
}
//时间曲线数据的集合
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(ca);
//时间曲线元素
JFreeChart chart = ChartFactory.createTimeSeriesChart(totletitle,
xtitle, ytitle, dataset, true, true, false);
// TextTitle subtitle = new TextTitle(totletitle, new Font("黑体",
// Font.BOLD, 12));
// chart.addSubtitle(subtitle);
// chart.setTitle(new TextTitle(xtitle, new Font("隶书", Font.ITALIC,
// 15)));
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0,
1000,
Color.blue));
try {
ChartUtilities.writeChartAsJPEG(output, chart, 260, 260); //输出图片
} catch (Exception e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -