reloj digital con netbeans ¡¡urgue!!
hola soy nuevo en la programacion. necesito hacer un reloj digital en netbeans que muestre horas y minutos en una label, que se pueda cambiar las horas y los minutos atraves de un spinner y que se detenga con un boton!!
tengo dos clases que son:
/**
*
* @author fala
*/
public class NumeroDespliegue {
private int limite;
private int valor;
/**
* Constructor.
* Poner el limite en el que el despliegue debe volver a cero.
*/
public NumeroDespliegue(int volver)
{
limite = volver;
valor = 0;
}
/**
* Regresar el valor actual.
*/
public int obtenerValor()
{
return valor;
}
/**
* Regresar el valor de despliegue (esto es, el valor actual
*como como cadena de dos dígitos.
* Si el valor es menor que 10, agregarle un cero.
*/
public String mostrarTimpo()
{
if (valor< 10)
return "0" + valor;
else
return "" + valor;
}
/**
* Poner valor de despliegue al especificado. Si el valor
* nuevo es menor a cero o pasa del limite no hacer nada
*/
public void estableceValor(int ponValor)
{
if((ponValor >= 0) && (ponValor < limite))
valor = ponValor;
}
/**
* Incrementa el valor del despliegue en uno,
* vuelve a cero si se alcanza el limite.
*/
public void incrementa()
{
valor=(valor + 1) % limite;
}
}
-------------------------
package reloj;
import javax.swing.JLabel;------------------------------->no se si esto este bien!!!
/**
*
* @author fala
*/
public final class DespliegueEjecutable
{
private NumeroDespliegue horas;
private NumeroDespliegue minutos;
private String muestraCadena;
private JLabel despliegue;
private Thread relojHilo= null;
public DespliegueEjecutable(){
horas = new NumeroDespliegue(24);
minutos = new NumeroDespliegue(60);
actualizarCadena();
}
public DespliegueEjecutable(int hora, int minuto){
horas = new NumeroDespliegue(24);
minutos = new NumeroDespliegue(60);
ponerEnHora(hora, minuto);
}
public void avanza()
{
minutos.incrementa();
if(minutos.obtenerValor()== 0){
horas.incrementa();
}
actualizarCadena();
}
public void ponerEnHora(int hora, int minuto){
horas.estableceValor(hora);
minutos.estableceValor(minuto);
actualizarCadena();
}
public String obtenerHora(){
return muestraCadena;
}
private void actualizarCadena(){
muestraCadena = horas.obtenerValor() + "" + minutos.obtenerValor();
}
public void ponerDespliegue(JLabel reloj) {
despliegue = reloj;
}
/**
*
*/
public void inicio() {
if (relojHilo == null) {
relojHilo = new Thread (this, "reloj" );--------------------------->aqui me marca error, no se porque!!!
relojHilo.start(); // start() method in Thread
}
}
/* overrides Runnable.run() */
public void run() {
Thread miHilo = Thread.currentThread();
while (relojHilo == miHilo) {
avanza();
despliegue.setText(muestraCadena);
try {
Thread.sleep(10);
}
catch (InterruptedException e){ }
}
}
public void parar() {
relojHilo = null;
}
tengo que mostrar toda en una GUI, espero me ayuden. y gracias de antemano
}
- Inicie sesión o regístrese para enviar comentarios
Te marca error porque el
Te marca error porque el constructor de
Thread
no recibe de parametroDespliegueEjecutable
¿En que necesitas ayuda exactamente? ( además quizá de que alguien haga el programa por tí)?
Hay algún concepto que no entiendas?
¿Te sale algún error de compilación? Y si es así ¿cual es? Como piensas resolver el problema?
entonces no lleva ningun
entonces no lleva ningun parametro???
lo puse asi: relojHilo = new Thread ();
ya no me marca error, pero no se si este bien. disculpa la ignorancia pero llevo un mes en esto de la programacion!!!
necesito que el reloj se ve de esta forma
----------------------------------------------------------
- jlabel -
- -
- spinner spinner -
-
- boton -
--------------------------------------------------------
en una gui.
tengo que crear un jframe en el el mismo paquete, hacer el diseño con lo que me proporciona la paleta y meterle action performan a los espiners y al boton! estoy bien??
el problema es que en el action performan que metodos mando a llamar?? para que me muestre las horas y los minutos.
no tengo ni un error de compilacion!!!
gracias
Si, si recibe pero no de ese
Si, si recibe pero no de ese tipo.
Revisa la documentación:
Thread
estoy bien?
Si
Que metodos mando a llamar?
En realidad cuando una acción se dispara, lo mandan a llamar a el. Generalmente en alguna interfaz como
ActionListener
Ve en el tutorial de Java como crear un ActionListener
http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html
Tambien busca ahí como usar un spinner y demás.
Espero te sirva.