Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 15-jun-2007, 14:23   #1 (permalink)
anxelin ha deshabilitado el karma
 
Avatar de anxelin
 
Fecha de Ingreso: junio-2007
Mensajes: 5
Indicar el progreso (ProgressMonitor)

Por favor ayudadme con esto :

He creado una clase MonitorTarea que dentro tiene un ProgressMonitor para monitorizar las ejecuciones más largas. El probema es que especifico todo lo que me pide el API de Java y me muestra una ventana sin las cadenas de texto que le pase, y sin la barra del tanto por ciento completado. Sólo muestra una ventana en blanco que pone "Progreso..."

El código de mi clase es el siguiente


public class MonitorTarea{

ProgressMonitor monitor;
private static final long serialVersionUID = 1L;

String titulo;
String texto, textoBase;
int pasoInicial, pasoFinal, pasoActual;
Component padre = FachadaControlador.getPadre();

public void setTitulo(String titulo){
this.titulo=titulo;
}

public String getTitulo(){
return titulo;
}

public void setTexto(String texto){
this.texto=texto;
textoBase=texto;
}

public String getTexto(){
return texto;
}

public void setPasoInicial(int pasoInicial){
this.pasoInicial=pasoInicial;
}

public int getPasoInicial(){
return pasoInicial;
}

public void setPasoFinal(int pasoFinal){
this.pasoFinal=pasoFinal;
}

public int getPasoFinal(){
return pasoFinal;
}

public void setPasoActual(int pasoActual){
this.pasoActual=pasoActual;
texto=textoBase+" "+getPorcentaje()+"%";
monitor.setNote(texto);
monitor.setProgress(pasoActual);
}

public int getPasoActual(){
return pasoActual;
}

public int getPorcentaje(){
Double porcentaje = new Double(((double)pasoActual)*((double)100.0)/((double)pasoFinal));
return porcentaje.intValue();
}

public void abrir(){
monitor = new ProgressMonitor(null , titulo, texto, pasoInicial, pasoFinal);
}

public boolean cancelado(){
return monitor.isCanceled();
}

public void cerrar(){
monitor.close();
}

}



Este código lo llamo de esta manera:

MonitorTarea monitor = new MonitorTarea();
monitor.setTitulo("Mi tarea larga");
monitor.setTexto("Completado");
monitor.setPasoInicial(0);
monitor.setPasoFinal(numFilas);
monitor.abrir();
.......
[Dentro de un for]
monitor.setPasoActual(i);
.......
[Al salir del for]
monitor.cerrar();




La ventana si que se cierra cuando se tiene que cerrar, y si hago un "monitor.getNote()" o obtengo su paso inicial o final me lo da correctamnente.

SOLO NO MUESTRA NINGUNA INFORMACION.
Alguien sabe que pasa?
anxelin está desconectado   Responder Citando
Antiguo 19-jun-2007, 10:28   #2 (permalink)
anxelin ha deshabilitado el karma
 
Avatar de anxelin
 
Fecha de Ingreso: junio-2007
Mensajes: 5
Re: Indicar el progreso (ProgressMonitor)

Y ocurre algo más extraño aun, si ocurre algun error o cualquier cosa que abra una JOptionPanel o similar, la ejecucion del programa logicamente se congela, pero el monitor en ese momento SI muestra la información que tiene que mostrar.

¿Nadie sabe por que ocurre?, ya no se lo que hacer.
anxelin está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:51.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93