Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2007, 14:23
Avatar de anxelin
anxelin
 
Fecha de Ingreso: junio-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
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?