He leído, y tratado de implementar el patron singleton de la siguiente manera:
Código Java:
Ver originalpublic class timer {
private static timer unicoTimer;
private int h, m, s, cs;
public static timer getInstancia(){
if(unicoTimer == null)
unicoTimer = new timer();
return unicoTimer;
}
private timer(){}
@Override
++cs;
if(cs==100){
cs = 0;
++s;
}
if(s==60)
{
s = 0;
++m;
}
if(m==60)
{
m = 0;
++h;
}
actualizarLabel();
}
};
t
= new Timer(10, tiempo
); }
private void actualizarLabel() {
// String tiempo = (h<=9?"0":"")+h+":"+(m<=9?"0":"")+m+":"+(s<=9?"0":"")+s+":"+(cs<=9?"0":"")+cs;
String tiempo
= (h
<=9?"0":"")+h
+":"+(m
<=9?"0":"")+m
+":"+(s
<=9?"0":"")+s
; Ltiempo.setText(tiempo);
}
public void start(){
t.start();
}
public void pausa(){
t.stop();
}
if(t.isRunning())
{
t.stop();
stop.setEnabled(true);
}
h=0; m=0; s=0; cs=0;
actualizarLabel();
}
}
Lo inicio de esta manera:
Código Java:
Ver originaltimer.getInstancia().ejecutar(etiquetaTiempo);
timer.getInstancia().start();
btnStart.setEnabled(false);
btnStart.setText("Reanudar");
btnPause.setEnabled(true);
btnStop.setEnabled(true);
Se pausa asi:
Código Java:
Ver originaltimer.getInstancia().pausa();
btnStart.setEnabled(true);
btnPause.setEnabled(false);
y se detiene:
Código Java:
Ver originaltimer.getInstancia().running(btnStop);
btnStart.setText("Iniciar");
btnPause.setEnabled(false);
btnStop.setEnabled(false);
Pero sigue sin funcionar al implementarlo aun segundo "Cronometro", no se que pasa pues inicio el primero y funciona, pero al correr el segundo el primero se paraliza y el segundo inicia desde donde se quedo el primero y aumenta la velocidad
Creo no entendí bien el patrón o mi sintaxis es errónea