KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > analyzer > charts > ChartManager


1 package analyzer.charts;
2
3 import java.awt.BasicStroke JavaDoc;
4 import java.awt.BorderLayout JavaDoc;
5 import java.awt.Color JavaDoc;
6 import java.awt.Dimension JavaDoc;
7 import java.awt.GradientPaint JavaDoc;
8 import java.awt.Graphics JavaDoc;
9 import java.awt.Graphics2D JavaDoc;
10 import java.awt.GridLayout JavaDoc;
11 import java.awt.Image JavaDoc;
12 import java.awt.Rectangle JavaDoc;
13 import java.awt.RenderingHints JavaDoc;
14 import java.awt.Shape JavaDoc;
15 import java.awt.Stroke JavaDoc;
16 import java.awt.event.ComponentEvent JavaDoc;
17 import java.awt.event.WindowAdapter JavaDoc;
18 import java.awt.event.WindowEvent JavaDoc;
19 import java.awt.event.WindowListener JavaDoc;
20 import java.awt.geom.AffineTransform JavaDoc;
21 import java.awt.geom.Arc2D JavaDoc;
22 import java.awt.geom.GeneralPath JavaDoc;
23 import java.awt.geom.Rectangle2D JavaDoc;
24
25 import javax.swing.ImageIcon JavaDoc;
26 import javax.swing.JComponent JavaDoc;
27 import javax.swing.JFrame JavaDoc;
28 import javax.swing.JLabel JavaDoc;
29 import javax.swing.JPanel JavaDoc;
30 import java.util.ArrayList JavaDoc;
31 import analyzer.listeners.WindowData;
32
33 public class ChartManager extends JFrame JavaDoc {
34     
35     int howMany;
36     ArrayList JavaDoc charts;
37     long start,end;
38     
39     public ChartManager(long startTime,long endTime) {
40         super("Time Line");
41         start=startTime;
42         end=endTime;
43         howMany=0;
44         charts=new ArrayList JavaDoc();
45     }
46     
47     public void addChart(WindowData w){
48         w.computeSlice(start,end);
49         int[] xData=w.sliceX;
50         int[] yData=w.sliceY;
51         //System.out.println("x:"+xData.length);
52
if(xData==null||xData.length==0)return;
53         howMany++;
54         
55         ChartMaker chart = new ChartMaker(ChartMaker.LineChart, xData.length, xData, yData, w.id);
56         chart.setStroke(new BasicStroke JavaDoc(2));//BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER));
57
chart.setLineColor(w.chartColor);
58         charts.add(chart);
59         
60         //System.out.println("chart x "+xData.length+" y "+yData.length);
61

62         
63    /* chart = new JChart2D(JChart2D.ColumnChart, xData.length, xData, yData,
64         "Column Chart");
65     GradientPaint gp = new GradientPaint(0, 100, Color.white, 0, 300,
66         Color.blue, true);
67     chart.setGradient(gp);
68     chart.setEffectIndex(JChart2D.Gradientffect);
69     chart.setDrawShadow(true);
70     getContentPane().add(chart);
71     
72     chart = new JChart2D(JChart2D.PieChart, xData.length, xData, yData,
73         "Pie Chart");
74     ImageIcon icon = new ImageIcon("largeJava2slogo.GIF");
75     chart.setForegroundImage(icon.getImage());
76     chart.setEffectIndex(JChart2D.ImageEffect);
77     chart.setDrawShadow(true);
78     getContentPane().add(chart);*/

79         
80     }
81     
82     public void displayCharts(){
83         setSize(800, 80*howMany);
84         getContentPane().setLayout(new GridLayout JavaDoc(howMany, 1, 10, 10));
85         getContentPane().setBackground(Color.white);
86         
87         ChartMaker c;
88         for(int i=0;i<charts.size();i++) {
89             c=(ChartMaker)charts.get(i);
90             getContentPane().add(c);
91         }
92         
93         WindowListener JavaDoc wndCloser = new WindowAdapter JavaDoc() {
94             public void windowClosing(WindowEvent JavaDoc e) {
95                 System.exit(0);
96             }
97         };
98         addWindowListener(wndCloser);
99         
100         setVisible(true);
101     }
102 }
Popular Tags