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

Mensaje de carga

Estas en el tema de Mensaje de carga en el foro de Java en Foros del Web. Que tal !!!! Estoy desarrollando una aplicacion de escritorio donde se genera un proceso, pero mientras tanto se debe mostrar al usuario que el proceso ...
  #1 (permalink)  
Antiguo 11/02/2010, 14:57
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Mensaje de carga

Que tal !!!!

Estoy desarrollando una aplicacion de escritorio donde se genera un proceso, pero mientras tanto se debe mostrar al usuario que el proceso esta en curso y no permitirle hacer nada. Como puedo hacer esto ?


Saludos.
  #2 (permalink)  
Antiguo 11/02/2010, 15:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 24
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Mensaje de carga

Lo que tiene que hacer es desactivar el panel y que a su vez instancies una barra de progreso.....
  #3 (permalink)  
Antiguo 11/02/2010, 19:13
 
Fecha de Ingreso: junio-2009
Mensajes: 65
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Mensaje de carga

Desactivar el panel de que forma? Haciendo un dispose del panel que manda el panel de carga.

Lo pregunto por que yo intente hacer eso alguna vez, y el problema es que el panel de carga, se veia transparente sin nada, como que a Java no le daba tiempo a crear el panel.

¿A que se debia esto?

Muchas Gracias!
  #4 (permalink)  
Antiguo 13/02/2010, 10:44
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Mensaje de carga

Que tal !!!

Sigo dando vueltas para encontrar una solución a mi problema y esto es lo que tengo:

He declarado un thread donde inicio el proceso que demora determinada cantidad de tiempo, mientras tanto muestro un JDialog con la barra de progreso cambiando constantemente, pero entonces ahi llego a otro problema: Necesito que cuando el thread termine me cierre el JDialog donde esta la barra de progreso.

Aqui el codigo:

El thread
Código:
Thread task = new Thread(new Runnable() {
                    
                    public void run() {
                        //Aca realizo mi proceso.
                    }
                });
task.start();
Muestro el JDialog con la barra de progreso:

Código:
FormPrincipal formPrincipal = FormPrincipal.obtenerInstancia();
SubFormEspera formEspera = new SubFormEspera(formPrincipal,true);
formEspera.setVisible(true);
Saludos y gracias por la ayuda.
  #5 (permalink)  
Antiguo 13/02/2010, 11:33
 
Fecha de Ingreso: junio-2009
Mensajes: 65
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Mensaje de carga

Si es una historia yo tambien tuve ese problema no llegue a solucionar, estoy a la espera a ver si alguien nos puede decir algo acerca de este tema.

A mi lo que me ocurria es que la ventana del JProgressBar se me ponia en transparente y no veia nada de nada, asi es que no se por que podría ser.

A ver si alguien nos puede decir algo...

Saludos y gracias!
  #6 (permalink)  
Antiguo 13/02/2010, 12:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Mensaje de carga

Para "desactivar" la interfaz mientras muestras la barra de progreso y haces la tarea en background, lo que se hace es hacer visible un panel semitransparente encima del panel que quieres "bloquear" y que impide que los eventos de raton lleguen a la interfaz.

Ese tipo de paneles se conocen como GlassPane.
Aquí algo más de información, y buscando en google más ejemplos:

http://java.sun.com/docs/books/tutor.../rootpane.html
http://www.java2s.com/Code/Java/Swin...fGlassPane.htm

Un ejemplo de un tío que sabe mucho de interfaces: http://www.curious-creature.org/2005...tyle-in-swing/

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Última edición por GreenEyed; 13/02/2010 a las 12:48
  #7 (permalink)  
Antiguo 13/02/2010, 15:03
 
Fecha de Ingreso: junio-2009
Mensajes: 65
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Mensaje de carga

Yo he encontrado algo de ifnormación en español, que es la siguiente:

http://sites.google.com/site/flaviod...pple/jrootpane

Aunque todavia no he encontrado la suficiente información de por que sucede este hecho y como solucionarlo.

Para hacer eso debo de colocar lo que es JProgressBar dentr del Cristal o donde hay que colocarlo, para que no muestre la ventana o frame transparente mientras se ejecuta algo en segundo plano.

O es mejor crear un Thread, que haga el trabajo por debejo y el programa principal que dibuje lo que es la progress bar.

Un Saludo!

Etiquetas: carga, mensaje
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 12:03.