elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Contador de tiempo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Contador de tiempo  (Leído 3,308 veces)
Baal_30

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Contador de tiempo
« en: 25 Febrero 2016, 22:59 pm »

Muy buenas, estoy intentando hacer que cuando le de a un botón se ponga un contador que cuente hasta "X" segundos, y mientras este tiempo que deje inactivo el mismo botón.

He estado buscando y solo encuentro cosas con timer pero no explican exactamente lo que quiero.

No se si me he explicado, un ejemplo sería un botón de "construir" y hasta que no ha terminado de construir no me vuelva a dejar pulsar el botón.

Gracias de antemano.


En línea

«La suerte es el cuidado de los detalles». -Winston Churchill
El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Contador de tiempo
« Respuesta #1 en: 26 Febrero 2016, 06:13 am »

En el evento click del botón deshabilita el mismo botón.
En el evento 'tick' del timer compara si se ha cumplido con el tiempo establecido, de ser así dejas de contar el tiempo y vuelves a habilitar el botón.


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Baal_30

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: Contador de tiempo
« Respuesta #2 en: 28 Febrero 2016, 00:04 am »

Y para mostrar un contador (un label por ejemplo) con el tiempo que falta para que llegue a cero el timer, como sería ¿?
En línea

«La suerte es el cuidado de los detalles». -Winston Churchill
3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Contador de tiempo
« Respuesta #3 en: 28 Febrero 2016, 00:16 am »

Puedes por ejemplo hacer un thread, y dentro del mismo un ciclo for, que realice por ejemplo 60 iteraciones, y en cada iteración hacemos un Thread.sleep(1000) por lo que se demoraría 1 minuto en terminar de ejecutarse, y a su vez, dentro del mismo ciclo for cambias el texto del label poniendo el tiempo... algo así:

Código
  1. for(int time = 60;0<time;time--) {
  2.    label.setText(time + "s Restantes");
  3.    Thread.sleep(1000);
  4. }
  5.  


Algo por el estilo, lo que no recuerdo es si después de un setText es necesario un repaint, hace mucho que no programo en Java, xD!.
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Contador de tiempo
« Respuesta #4 en: 29 Febrero 2016, 06:25 am »

Lo que comenta "Nacho" sobre el repaint creo que no sería necesario. Yo tampoco programo en JAVA, pero las reglas de la programación orientada a objetos y/o eventos en general suelen ser las mismas, y en este caso lo que ocurre con el repaint sería de hecho que el objeto label, al detectar que han cambiado el texto que contiene, se dibuja él mismo (los mismos objetos manejan la forma en que se dibuja su contenido y cuando). Ahora, el repaint no es necesario, sino que (creo que) el control dispara el evento que indica que se ha vuelto a dibujar.
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
contador
Programación Visual Basic
::: Devil ::: 4 2,158 Último mensaje 27 Mayo 2008, 04:37 am
por SKL (orignal)
Realizar contador en un período de tiempo. PIC16F886 en C
Electrónica
shoshonee 0 4,351 Último mensaje 26 Mayo 2011, 20:17 pm
por shoshonee
Así es cómo "perdemos" el tiempo en internet en tiempo real
Noticias
wolfbcn 0 2,866 Último mensaje 3 Junio 2014, 18:14 pm
por wolfbcn
Contador de tiempo en Python
Scripting
duRRR 3 10,354 Último mensaje 27 Mayo 2015, 06:26 am
por 0x5d
Contador de puntos según el tiempo que llevas jugando
Java
aspiazu 3 1,861 Último mensaje 30 Abril 2016, 17:03 pm
por + 1 Oculto(s)
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines