import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.URL; import sun.audio.*; import java.io.*; /* This is the drawing area of the program. I also made it the center of the program *which handles most cross-class updates because it has all of the pointers to each *of the objects,making it an easy place to have all cross-class updates.*/ public class aCanvas extends JComponent implements MouseListener{ /* private allAxis axis; private allData data; private allDataPoints points,line,histo,scatter; private infoArea infoDiv; private int curCat,scatterCatX,scatterCatY,filter; private Color backgroundColor; private allLines lines;*/ /*When initialized it only needs the info area pointer, otherwise it just loads *everything with its starting(default) values. */ public aCanvas(/*infoArea i*/){ /* curCat=0; scatterCatX=1; scatterCatY=2; infoDiv=i; filter=-1; backgroundColor=Color.LIGHT_GRAY; data=new loadRestaurantData(); axis=new histoAxis(this,data,false); histo=new histogramPoints(this,data,0,axis,i); line=new linePoints(this,data,0,axis,infoDiv); points=histo; lines=new allLines(this);*/ addMouseListener(this); repaint(); } /*Calls the draw funtions of the axis and data points because they understand *how to drawm themselves, checks to see if they should actually be drawn too Draws the background first then allows the others to overwrite ontop of it.*/ protected void paintComponent(Graphics g){ Graphics2D g2d = (Graphics2D)g; /* g2d.setColor(getBackground()); g2d.fill(new Rectangle(0,0,this.getWidth(),this.getHeight())); g2d.setColor(Color.black);*/ g2d.scale(2.0,2.0); int height=this.getHeight(); int width=this.getWidth(); g.drawLine(0,0, width, height); g.drawLine(0,height, width, 0); /*if(!axis.hiddenState()) axis.drawAxis(g); if(!data.getHiddenState()) points.drawData(g);*/ g2d.scale(1,1); setPreferredSize(new Dimension(this.getWidth()*2,this.getHeight()*2)); } /*a mouse was clicked, tell the datapoints to handle it*/ public void mousePressed (MouseEvent event) { /* if (event.getClickCount() == 2) points.deleteLine(event.getPoint()); points.doClick(event.getPoint(),event);*/ } public void mouseClicked (MouseEvent event) { } public void mouseReleased (MouseEvent event) { //points.doClick(event.getPoint(),event); } public void mouseEntered (MouseEvent event) {} public void mouseExited (MouseEvent event) {} }