Muchas veces necesitas, en una aplicacion swing, correr algún proceso en
background e ir actualizado un texto o componente de la pantalla a medida que se
ejecuta el proceso.
Para eso podemos usar javax.swing.SwingWorker
Ejemplo:
private void jButton1ActionPerformed(ActionEvent evt) {
WorkInBackground w = new WorkInBackground();
w.addPropertyChangeListener(new PropertyChangeListener(){
public void propertyChange(PropertyChangeEvent evt) {
if(evt.getPropertyName().equals(“operationResult”)){
// aqui puedes actualizar algun label o componente de la aplicacion swing
}
}
});
}
class WorkInBackground extends SwingWorker {
@Override
protected Object doInBackground() throws Exception {
firePropertyChange(“operationResult”, null, “NEW VALUE”);
return null;
}
};

background e ir actualizado un texto o componente de la pantalla a medida que se
ejecuta el proceso.
Para eso podemos usar javax.swing.SwingWorker
Ejemplo:
private void jButton1ActionPerformed(ActionEvent evt) {
WorkInBackground w = new WorkInBackground();
w.addPropertyChangeListener(new PropertyChangeListener(){
public void propertyChange(PropertyChangeEvent evt) {
if(evt.getPropertyName().equals(“operationResult”)){
// aqui puedes actualizar algun label o componente de la aplicacion swing
}
}
});
}
class WorkInBackground extends SwingWorker {
@Override
protected Object doInBackground() throws Exception {
firePropertyChange(“operationResult”, null, “NEW VALUE”);
return null;
}
};

..