Foros del Web » Programación para mayores de 30 ;) » Java »

Desactiva JButton en java

Estas en el tema de Desactiva JButton en java en el foro de Java en Foros del Web. Hola! Soy aprendiz de java y tengo un problema con un JButon, que entre sus funciones contiene un bucle while(true). ejemplo del codigo del boton: ...
  #1 (permalink)  
Antiguo 09/11/2016, 17:52
Avatar de wtd000  
Fecha de Ingreso: abril-2012
Ubicación: en casa
Mensajes: 12
Antigüedad: 12 años
Puntos: 0
Desactiva JButton en java

Hola!

Soy aprendiz de java y tengo un problema con un JButon, que entre sus funciones contiene un bucle while(true).

ejemplo del codigo del boton:


while(true)
{
system.out.printnl("lo que sea");
system.out.printnl("lo que sea");


}

El caso es que la ventana principal(Jframe) se queda con el boton presionado y colgada.

como podria solucionar esto?
  #2 (permalink)  
Antiguo 14/11/2016, 15:01
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Desactiva JButton en java

Hola:

Java tiene un unico hilo encargado de pintar las ventanas, atender teclado, ratón, etc. El click de tu botón se ejecuta en ese hilo y si lo bloqueas con un while(true) (no termina nunca tu metodo), ese hilo esta entretenido haciendo tus system.out y por tanto no repinta ventanas ni atiende a mas eventos de teclado/raton.

La forma correcta de hacerlo es que en el método que se ejecuta al pulsar el JButton lances un hilo y dentro pongas tu while(true). Así liberas rápidamente el hilo de pintar ventanas y el nuevo hilo que has creado es el que se entretiene con los System.out.

Aquí tienes la explicación un poco más detallada http://chuwiki.chuidiang.org/index.p...hread)_de_Java

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 15/11/2016, 06:41
Avatar de wtd000  
Fecha de Ingreso: abril-2012
Ubicación: en casa
Mensajes: 12
Antigüedad: 12 años
Puntos: 0
Respuesta: Desactiva JButton en java

Muchas gracias por tu respuesta.

La info esta muy buena y la voy a probar en seguida.
Tenia mucho tiempo buscando y no daba con la solucion a este problema.


Etiquetas: boton, bucle, desactivar, jbutton
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:01.