| Author |
Debugging
|
Lisa Smith
Ranch Hand
Joined: Sep 24, 2002
Posts: 57
|
|
Could use help debugging /code: import java.awt.geom.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; class PaintGradient01{ publicstaticvoid main(String[] args){ GUI guiObj = new GUI(); }//end main }//end controlling class PaintGradient01 class GUI extends Frame{ int res;//store screen resolution here staticfinalint ds = 72;//default scale, 72 units/inch staticfinalint hSize = 4;//horizonal size = 4 inches staticfinalint vSize = 4;//vertical size = 4 inches GUI(){//constructor //Get screen resolution res = Toolkit.getDefaultToolkit(). getScreenResolution(); //Set Frame size this.setSize(hSize*res,vSize*res); this.setVisible(true); this.setTitle("Copyright 1999, R.G.Baldwin"); //Window listener to terminate program. this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}}); }//end constructor //-----------------------------------------------------// //Override the paint() method public void paint(Graphics g){ //Downcast the Graphics object to //a Graphics2D object Graphics2D g2 = (Graphics2D)g; //Scale device space to produce inches //on the screen // based on actual screen resolution. g2.scale((double)res/72,(double)res/72); //Translate origin to center of Frame g2.translate((hSize/2)*ds,(vSize/2)*ds); //Draw x-axis g2.draw(new Line2D.Double( -1.5*ds,0.0,1.5*ds,0.0)); //Draw y-axis g2.draw(new Line2D.Double( 0.0,-1.5*ds,0.0,1.5*ds)); //Upper left quadrant, Solid red fill Ellipse2D.Double circle1 = new Ellipse2D.Double( -2.0*ds,-2.0*ds,2.0*ds,2.0*ds); g2.setPaint(new Color(255,0,0));//red g2.fill(circle1); g2.draw(circle1); //Upper right quadrant //Gradient red to orange, acyclic Ellipse2D.Double circle2 = new Ellipse2D.Double( 0.0*ds,-2.0*ds,2.0*ds,2.0*ds); g2.setPaint( new GradientPaint( 0.5f*ds,-1.0f*ds,Color.red, 1.5f*ds,-1.0f*ds,Color.orange,false)); g2.fill(circle2); g2.draw(circle2); //Lower left quadrant //Gradient red to orange, cyclic along //horizontal axis Ellipse2D.Double circle3 = new Ellipse2D.Double( -2.0*ds,0.0*ds,2.0*ds,2.0*ds); g2.setPaint( new GradientPaint( -1.15f*ds,1.0f*ds,Color.red, -0.85f*ds,1.0f*ds,Color.orange,true)); g2.fill(circle3); g2.draw(circle3); //Lower right quadrant //Gradient red to orange, cyclic along // 45 degree angle Ellipse2D.Double circle4 = new Ellipse2D.Double( 0.0*ds,0.0*ds,2.0*ds,2.0*ds); g2.setPaint( new GradientPaint( 0.0f*ds,0.0f*ds,Color.red, 0.25f*ds,0.25f*ds,Color.orange,true)); g2.fill(circle4); g2.draw(circle4); }//end overridden paint() }//end class GUI //==============================// /Code
|
 |
Ron Newman
Ranch Hand
Joined: Jun 06, 2002
Posts: 1056
|
|
|
Please use the UBB code tags to keep the code properly formatted. What is the bug you are trying to diagnose?
|
Ron Newman - SCJP 1.2 (100%, 7 August 2002)
|
 |
 |
|
|
subject: Debugging
|
|
|