1 package panther
.ui
.reports
;
7 import org
.jfree
.chart
.*;
8 import org
.jfree
.chart
.plot
.*;
9 import org
.jfree
.chart
.renderer
.xy
.*;
10 import org
.jfree
.data
.time
.*;
11 import org
.jfree
.data
.xy
.*;
15 public class ReportScales
18 public ReportScales(int sid
)
20 setName("Scales - " + MySQLManager
.get_student_name(sid
));
21 ScalesList slist
= MySQLManager
.get_student_scales(sid
);
24 ChartPanel cp_proficiency
= new ChartPanel(gen_chart(gen_dataset(
26 ScalesEntry
.Type
.STUDENT_PROFICIENCY
,
27 ScalesEntry
.Type
.TEACHER_PROFICIENCY
),
30 ChartPanel cp_tempo
= new ChartPanel(gen_chart(gen_dataset(
32 ScalesEntry
.Type
.STUDENT_TEMPO
,
33 ScalesEntry
.Type
.TEACHER_TEMPO
),
36 ChartPanel cp_fingering
= new ChartPanel(gen_chart(gen_dataset(
38 ScalesEntry
.Type
.STUDENT_FINGERING
,
39 ScalesEntry
.Type
.TEACHER_FINGERING
),
43 setLayout(new BoxLayout(this, BoxLayout
.Y_AXIS
));
49 private JFreeChart
gen_chart(XYDataset dataset
, String title
)
51 JFreeChart chart
= ChartFactory
.createTimeSeriesChart(
62 private XYDataset
gen_dataset(
64 ScalesEntry
.Type t_student
,
65 ScalesEntry
.Type t_teacher
)
67 ArrayList
<java
.sql
.Date
> slist_dates
= slist
.get_scales_list_dates();
69 int[] slist_student
= slist
.get_scores(t_student
);
70 int[] slist_teacher
= slist
.get_scores(t_teacher
);
72 TimeSeries ts_student
= new TimeSeries("Student");
73 TimeSeries ts_teacher
= new TimeSeries("Teacher");
75 for (int i
=0; i
<slist_dates
.size(); i
++) {
76 Week week
= new Week(slist_dates
.get(i
));
78 ts_student
.add(week
, slist_student
[i
]);
79 ts_teacher
.add(week
, slist_teacher
[i
]);
82 TimeSeriesCollection dataset
= new TimeSeriesCollection();
83 dataset
.addSeries(ts_student
);
84 dataset
.addSeries(ts_teacher
);