Está en la página 1de 3

Reloj

Diego Arturo Chipana Fernandez


Programación II.
Universidad Católica Boliviana “San Pablo“.
Diego1997.chip@gmail.com
Resumen- En este public void setY(int y) { punto de inicio constante que Manecillas
documento se presentara la Y = y; será de 150 para toads las minutero=new
resolución de un ejercicio } manesillas Manecillas(150, 50,
orientado a objetos, en la Color.ORANGE);
cual debemos simular un
reloj que vaya redibujando el
public int getAncho() { public class Manecillas Manecillas horero=new
estado del dibujo con un return Ancho; extends Figura Manecillas(150,100,Color.B
retardo de 1 segundo.. } { LUE);
boolean mover=true;
INTRODUCCIÓN public void setAncho(int public Manecillas(int int segundos=0;
ancho) { Ancho, int Alto,Color color) int minutos=0;
Para resolver estos Ancho = ancho; { int horas=0;
problemas utilizaremos la } super(150, 150,
plataforma de programación Ancho, Alto, color);
en java Eclipse. public int getAlto() { public void
return Alto; } paintComponent(Graphics
PROCEDIMIENTO } g)
@Override {
1. Resolucio
public void setAlto(int public void
n del ejercicio. alto) { dibujar(Graphics g) {
Alto = alto; g.drawLine(getX(), super.paintComponent(g);
} getY(), getAncho(), reloj.colorear(g);
A continuacion se mostraran getAlto());
los codigos de programacion public Color getColor() { } segundero.colorear(g);
para cada clase para poder return color; } minutero.colorear(g);
realizar el trabajo: } horero.colorear(g);
Tambien se programo una
public abstract class Figura { public void clase reloj que simplemente
setColor(Color color) { graficara un circulo que repaint();
private int X, Y, Ancho, this.color = color; simula el marco del reloj try {
Alto; }
private Color color; public class Reloj extends Thread.sleep(1000);
//Fin de los Getters y Figura{ }
//Constructor de la clase Setters
Figura //----------------------------- public Reloj() {
public Figura(int x, int y, ----------------------------------- super(0,0, 300, 300, catch(InterruptedException
int ancho, int alto, Color ---------------------------------- Color.BLACK); e)
color) { //toString de la clase } {
super(); Figura
X = x; @Override @Override
Y = y; public String toString() { public void Thread.currentThread().inter
Ancho = ancho; return "Figura [X=" + dibujar(Graphics g) { rupt();
Alto = alto; X + ", Y=" + Y + ", Ancho=" g.drawOval(getX(), }
this.color = color; + Ancho + ", Alto=" + Alto + getY(), getAncho(),
", color=" + color + "]"; getAlto());
} } } System.out.println(horas+":"
+minutos+":"+segundos);
//----------------------------- //Metodo para dibujar }
----------------------------------- public abstract void if (segundos>=0 &&
----------------------------------- dibujar (Graphics g); En la clase Panel se segundos<15)
-- //Metodo para darle un programo las manesillas {
//Getters y Setters de color a las figuras para las horas,minutos y
todas las variables de la clase public void colorear segundo respectivamente
figura (Graphics g) además que se fijo el segundero.setAncho(segunde
public int getX() { { movimiento y el tiempo de ro.getAncho()+10);
return X; Delay que tendrá cada
} g.setColor(getColor()); segundo en el Try and Catch
dibujar(g); public class PanelDibujo segundero.setAlto(segundero
public void setX(int x) { } extends JPanel{ .getAlto()+10);
X = x; } repaint();
} }
Una vez programada la clase Reloj reloj=new Reloj(); if (segundos>=15 &&
public int getY() { figura se procedio a Manecillas segundos<30)
return Y; progrmar la clase de las segundero=new {
} manecillas que esiende de la Manecillas(150, 0,
clase Figura y define un Color.DARK_GRAY);
{ {
segundero.setAncho(segunde
ro.getAncho()-10); minutero.setAncho(157); horero.setAncho(166);

minutero.setAlto(57); horero.setAlto(184);
segundero.setAlto(segundero } }
.getAlto()+10); if (minutos==2 ) if (horas==6 )
repaint(); { {
}
if (segundos>=30 && minutero.setAncho(164); horero.setAncho(150);
segundos<45)
{ minutero.setAlto(64); horero.setAlto(200);
} }
. if (horas==7 )
segundero.setAncho(segunde . {
ro.getAncho()-10); .
if (minutos==59 ) horero.setAncho(133);
{
segundero.setAlto(segundero horero.setAlto(183);
.getAlto()-10); minutero.setAncho(148); }
repaint(); if (horas==8 )
} minutero.setAlto(52); {
if (segundos>=45 && }
segundos<59) if (minutos==60 ) horero.setAncho(116);
{ {
minutos=0; horero.setAlto(166);
horas++; }
segundero.setAncho(segunde } if (horas==9 )
ro.getAncho()+10); {
if (horas==0)
{ horero.setAncho(100);
segundero.setAlto(segundero
.getAlto()-10); horero.setAncho(150); horero.setAlto(150);
repaint(); }
} horero.setAlto(100); if (horas==10 )
segundos++; } {
if (segundos==60) if (horas==1 )
{ { horero.setAncho(117);
segundos=0;
horero.setAncho(167); horero.setAlto(133);
}
segundero.setAncho(150); horero.setAlto(117); if (horas==11 )
} {
segundero.setAlto(0); if (horas==2 )
minutos++; { horero.setAncho(134);
}
Debido que los minutos horero.setAncho(184); horero.setAlto(116);
deben trabajar }
conjuntamente con el horero.setAlto(134); if (horas==12 )
segundero una solución para } {
que se vea comoun reloj if (horas==3 ) horas=0;
normal fue la de hacer un { }
cambio en el minutero cada
vez que transcurra un horero.setAncho(200); }
minuto y no asi como paso
con el segundero horero.setAlto(150);
if (minutos==0) } }
{ if (horas==4 ) Por último se realizó la
{ prueba respectiva del Reloj
minutero.setAncho(150); en el Test:
horero.setAncho(183);
minutero.setAlto(50);
} horero.setAlto(167);
}
if (minutos==1 ) if (horas==5 )

También podría gustarte