1 package analyzer.charts; 2 3 import java.awt.BasicStroke ; 4 import java.awt.BorderLayout ; 5 import java.awt.Color ; 6 import java.awt.Dimension ; 7 import java.awt.GradientPaint ; 8 import java.awt.Graphics ; 9 import java.awt.Graphics2D ; 10 import java.awt.GridLayout ; 11 import java.awt.Image ; 12 import java.awt.Rectangle ; 13 import java.awt.RenderingHints ; 14 import java.awt.Shape ; 15 import java.awt.Stroke ; 16 import java.awt.event.ComponentEvent ; 17 import java.awt.event.WindowAdapter ; 18 import java.awt.event.WindowEvent ; 19 import java.awt.event.WindowListener ; 20 import java.awt.geom.AffineTransform ; 21 import java.awt.geom.Arc2D ; 22 import java.awt.geom.GeneralPath ; 23 import java.awt.geom.Rectangle2D ; 24 25 import javax.swing.ImageIcon ; 26 import javax.swing.JComponent ; 27 import javax.swing.JFrame ; 28 import javax.swing.JLabel ; 29 import javax.swing.JPanel ; 30 import java.util.ArrayList ; 31 import analyzer.listeners.WindowData; 32 33 public class ChartManager extends JFrame { 34 35 int howMany; 36 ArrayList 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 (); 45 } 46 47 public void addChart(WindowData w){ 48 w.computeSlice(start,end); 49 int[] xData=w.sliceX; 50 int[] yData=w.sliceY; 51 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 (2)); chart.setLineColor(w.chartColor); 58 charts.add(chart); 59 60 62 63 79 80 } 81 82 public void displayCharts(){ 83 setSize(800, 80*howMany); 84 getContentPane().setLayout(new GridLayout (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 wndCloser = new WindowAdapter () { 94 public void windowClosing(WindowEvent e) { 95 System.exit(0); 96 } 97 }; 98 addWindowListener(wndCloser); 99 100 setVisible(true); 101 } 102 } | Popular Tags |