## Forum Stats

• 3,827,849 Users
• 2,260,830 Discussions

Discussions

# Drawing Circle with End-Point of Line as Centre

Member Posts: 135 Red Ribbon
edited Apr 13, 2017 12:17PM

Hi,

I am trying to draw a circle  with centre at the end point of Line but the centre is not exactly at the the end point.

import java.applet.Applet;

import java.awt.*;

import javax.swing.*;

import java.awt.image.*;

import javax.imageio.ImageIO;

public class JCircle extends Applet{

int x1=30;int ix1;

int y1=30;int iy1;

int x2=60;int ix2;

int y2=60;int iy2;

public  void paint(Graphics g) {

g.drawLine(x1, y1,x2, y2);

g.drawOval( x1, y1, 10, 10);

g.drawOval( x2, y2, 10, 10);

}

}

can some body please guide me what is the problem?

Zulfi.

• edited Apr 12, 2017 10:37AM
` I am trying to draw a circle with centre at the end point of Line but the centre is not exactly at the the end point.. . .can some body please guide me what is the problem?`

The Java API for 'drawOval' will tell you the problem - have you read it?

`Draws the outline of an oval. The result is a circle or ellipse that fits within the rectangle specified by the `x`, `y`, `width`, and `height` arguments.  The oval covers an area that is `width + 1` pixels wide and `height + 1` pixels tall.`

You need to specify the coordinates of the 'bounding rectangle' and the circle will be drawn INSIDE it.

` int x1=30;int ix1; int y1=30;int iy1; int x2=60;int ix2; int y2=60;int iy2; public void paint(Graphics g) { g.drawLine(x1, y1,x2, y2); g.drawOval( x1, y1, 10, 10); g.drawOval( x2, y2, 10, 10);`

So the TOP LEFT CORNER of your first 'bounding rectangle' is at x1, y1 and the height and width are 10.

You need to use x1 - 5 and y1 - 5.

• Member Posts: 135 Red Ribbon
edited Apr 12, 2017 11:47PM

Thanks. This problem is solved now.

God bless you.

Zulfi.

• edited Apr 13, 2017 12:17PM