package SwingTutorial;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Ellipse2D;

import javax.swing.Icon;
import javax.swing.JLabel;

public class MyCircle extends JLabel {
	final static BasicStroke thick = new BasicStroke(3.0f);
	private double xcenter;
	private double ycenter;
	private double diameter;

	public MyCircle() {
		super();
		xcenter=40;
		ycenter=50;
		diameter=50;
		setText("Circle at (" + xcenter + "," + ycenter + ") diameter=" + diameter);
		setVerticalAlignment(BOTTOM);
	}

	public MyCircle(String arg0) {
		super(arg0);
	}

	public MyCircle(Icon arg0) {
		super(arg0);
	}

	public MyCircle(String arg0, int arg1) {
		super(arg0, arg1);
	}

	public MyCircle(Icon arg0, int arg1) {
		super(arg0, arg1);
	}

	public MyCircle(String arg0, Icon arg1, int arg2) {
		super(arg0, arg1, arg2);
	}
	
	@Override
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		// System.out.println("Graphics object is " + g.getClass().getName()); 
		Graphics2D g2 = (Graphics2D) g;
		g2.setColor(new Color(200,10,10));
		g2.setStroke(thick);
		g2.draw((Shape)(new Ellipse2D.Double(xcenter,ycenter,diameter,diameter)));
	}
	
	public void moveCenter(double x,double y) {
		xcenter+=x;
		ycenter+=y;
		setText("Circle at (" + xcenter + "," + ycenter + ") diameter=" + diameter);
		repaint();
	}
}
