Ayuda a comprender el uso del Timer en java.
Soy demasiado novato en el mundo de java, sin embargo me quiero especializar en él, y considero que por algo hay que empezar. La duda que tengo o más bien no se como hacerlo es emplear la clase java. Útil. Timer, he revisado la documentación por Internet pero no me queda muy claro, el fin de esto es implementar el siguiente código mediante un timer:
import java.awt.Graphics;
import javax.swing.JPanel;
public class RayosDeBicicleta extends JPanel {
public void paintComponent (Graphics g)
{
super.paintComponent(g);
int anchura = getWidth();
int altura = getHeight();
double radianes;
double y2;
double x2;
for ( int grados = 0; grados <= 360; grados++ )
{
radianes = grados * Math.PI/180;
x2 = Math.cos(radianes) * (anchura/2) + (anchura/2);
y2 = (altura/2) - (Math.sin(radianes) * (altura/2));
g.drawLine(anchura/2, altura/2, (int) x2, (int) y2);
} // fin de for
} // fin del método panelDibujo
} // fin de la clase RayosBicicleta
Si ejecuto este código me dibuja un frame con líneas concéntricas, para cuando aparece en pantalla ya están dibujadas dichas líneas, lo que pretendo es que entre cada línea que este por dibujarse exista cierto tiempo para que se vea como va apareciendo una por una y si se puede que borre la anterior para que parezca "una sola manecilla" corriendo al contrario de las manecillas del reloj. Si hay alguien que me pueda auxiliar en esto le agradeceré infinitamente.
Salu2 a to2.
import java.awt.Graphics;
import javax.swing.JPanel;
public class RayosDeBicicleta extends JPanel {
public void paintComponent (Graphics g)
{
super.paintComponent(g);
int anchura = getWidth();
int altura = getHeight();
double radianes;
double y2;
double x2;
for ( int grados = 0; grados <= 360; grados++ )
{
radianes = grados * Math.PI/180;
x2 = Math.cos(radianes) * (anchura/2) + (anchura/2);
y2 = (altura/2) - (Math.sin(radianes) * (altura/2));
g.drawLine(anchura/2, altura/2, (int) x2, (int) y2);
} // fin de for
} // fin del método panelDibujo
} // fin de la clase RayosBicicleta
Si ejecuto este código me dibuja un frame con líneas concéntricas, para cuando aparece en pantalla ya están dibujadas dichas líneas, lo que pretendo es que entre cada línea que este por dibujarse exista cierto tiempo para que se vea como va apareciendo una por una y si se puede que borre la anterior para que parezca "una sola manecilla" corriendo al contrario de las manecillas del reloj. Si hay alguien que me pueda auxiliar en esto le agradeceré infinitamente.
Salu2 a to2.
1 Respuesta
Respuesta de aleja26
1