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

Que hace este codigo?

Estas en el tema de Que hace este codigo? en el foro de Java en Foros del Web. //Clase ResponseFile: import java.awt.Toolkit; import javax.swing.SwingWorker; public class ResponseFile extends SwingWorker<String, Void>{ @Override protected String doInBackground() throws Exception { for (int i = 0; i ...
  #1 (permalink)  
Antiguo 23/11/2013, 16:01
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Que hace este codigo?

//Clase ResponseFile:
import java.awt.Toolkit;

import javax.swing.SwingWorker;

public class ResponseFile extends SwingWorker<String, Void>{
@Override
protected String doInBackground() throws Exception {

for (int i = 0; i <= 20; i++) {
setProgress((i+1) * 100 / 20);
Thread.sleep(500);
}
return "";
}

@Override
protected void done() {
setProgress(100);
Toolkit.getDefaultToolkit().beep();
}
}

//JFRAME:

ResponseFile response = new ResponseFile(){
@Override
protected void done()
{
dispose();
principal.setVisible(true);


}
};
response.addPropertyChangeListener(new PropertyChangeListener(){
public void propertyChange(PropertyChangeEvent event) {
if ("progress".equals(event.getPropertyName())) {
principal.primaria();
progressBar.setValue( (Integer)event.getNewValue() );
}
}
});
response.execute();

//Aclaración : Se usa para la progressBar
  #2 (permalink)  
Antiguo 24/11/2013, 02:39
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Que hace este codigo?

Realiza una tarea en background que tarda un tiempo (la del método doInBackground) y pone una barra de progreso que se va actualizando mientras la tarea progresa.

Tienes un ejemplo explicado aquí http://chuwiki.chuidiang.org/index.p...on_SwingWorker

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 24/11/2013 a las 02:44
  #3 (permalink)  
Antiguo 24/11/2013, 20:02
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Que hace este codigo?

Hola, pero simula el tiempo, o realmente vé en tiempo real lo que demora un proceso?
  #4 (permalink)  
Antiguo 24/11/2013, 22:55
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Que hace este codigo?

Este es el proceso que está haciendo (lo que está en doInBackground())

for (int i = 0; i <= 20; i++) {
setProgress((i+1) * 100 / 20);
Thread.sleep(500);

es decir, tiene pinta de ser para un ejemplo, porque hace un bucle que no hace nada con un retardo para que tarde un tiempo. El setProgress es el que se encarga de actualizar la barra de estado.

En un programar real, ahí se pondría la tarea que esa que tarde y esa tarea tendría que ir avisando de su progreso.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 25/11/2013, 21:54
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Que hace este codigo?

Jaja vi que con esto que te puce, me va instanciando el jframe muchas veces, es decir mientras carga la barra de progreso me lo instancia muchas veces.
Como hago para que detecte el tiempo que demora en ejecutarce la funcion
cargar del jframe????

Etiquetas: clase, string
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 06:47.