import java.awt.Graphics; import java.util.Timer; import java.util.TimerTask; import javax.swing.JPanel; public class Circulo extends JPanel { /** * */ private static final long serialVersionUID = 6787599365941305525L; private int choice; public int x, y = 1; private int contador = 0; private Timer timer; public Circulo(int userChoice, int x2, int y2) { choice = userChoice; x = x2; y = y2; } public void paintComponent(final Graphics g) { int intervalo = 250; final Circulo objCirculo = this; super.paintComponent(g); if (null == this.timer) { this.timer = new Timer(); this.timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { objCirculo.repaint(); } }, intervalo / 2, intervalo); } switch (choice) { case 1: g.drawOval(10 + x * 10, 10 + y * 10, 50 + x * 10, 50 + y * 10); break; case 2: { int[] p = { 0, 0, getWidth(), getHeight() }; int passo = 20; int r = Math.min(getWidth(), getHeight()) / passo / 2; int i = 1 + (contador % passo); g.drawOval((p[2] / 2) - r * i, (p[3] / 2) - r * i, 2 * r * i, 2 * r * i); contador++; break; } } } }