Drawing A Circle In Java
Java: Example - CirclePanel.java
Problem: The Java Graphics class draws a circle with drawOval()
, whose parameters are not entirely intuitive. It uses a point at the top left of an imaginary bounding rectangle and the width and height. The standard way of of thinking about a circle is the center point and the radius. How can we program using the center point and a radius?
Solution: Write a method, drawCircle()
, which has parameters for the coordinates of the center point and a radius. It then calls drawOval
with transformed parameters.
To make a drawing, define a new component by subclassing JPanel and overriding the paintComponent()
method. This new component can be used just as any other component in a panel. See the calling program in Example - CircleMain.java.
/** * methods/CirclePanel.java - Component to draw circles. * This class functions as a GUI component, and can be added to a layout. * @version 22 June 1998, revised July 1999, 2002-02-07 JPanel * @author Fred Swartz */ import java.awt.*; import javax.swing.*; public class CirclePanel extends JPanel { //=========================================== constructor public CirclePanel() { setPreferredSize(new Dimension(100, 100)); setBackground(Color.white); }//end constructor //=========================================== paintComponent public void paintComponent(Graphics g) { super.paintComponent(g); // Try drawing some example circles. drawCircle(g, 30, 30, 20); // center (30,30) r=20 drawCircle(g, 30, 30, 15); // center (30,30) r=15 drawCircle(g, 30, 30, 10); // center (30,30) r=10 drawCircle(g, 80, 70, 5); // center (80,70) r=5 }//end paintComponent //========================================== drawCircle // Convenience method to draw from center with radius public void drawCircle(Graphics cg, int xCenter, int yCenter, int r) { cg.drawOval(xCenter-r, yCenter-r, 2*r, 2*r); }//end drawCircle } // end class CirclePanel
Drawing A Circle In Java
Source: https://web.tecgraf.puc-rio.br/~ismael/Cursos/apostilas/Java-Notes/flow/methods/drawCircle.html
Posted by: lynntheigh.blogspot.com
0 Response to "Drawing A Circle In Java"
Post a Comment