Srs,
Estou utilizando o Swing Application Framework e gostaria de saber como eu pego o retorno de uma Action executada em background pois nessa action eu faço um acesso ao banco de dados e tenho que informar na gui se tudo correu bem e caso afirmativo atualizar valores de campos.
Segue exemplo do que estou fazendo.
actionMap = application.getContext().getActionMap(this);
btnTeste.setAction(actionMap.get("clickTeste"));
@Override
@Action(block = BlockingScope.WINDOW)
public Task<ConfigTask, Void> clickTeste() {
configTask = new ConfigTask(new DomainEntity());
Task<ConfigTask, Void> taskTeste = new TaskClickTeste(application, configTask);
if (taskConfirmar.getState() == StateValue.DONE) { // aqui sempre vem PENDING
System.out.println("finalizada...");
}
return taskTeste;
}
public class TaskClickTeste extends Task<ConfigTask, Void>{
private ConfigTask configTask;
public TaskClickTest(Application application, ConfigTask configTask) {
super(application);
this.configTask = configTask;
}
@Override
protected ConfigTask doInBackground() throws Exception {
setMessage("processando em background...");
return configTask;
}
@Override
protected void succeeded(ConfigTask obj) {
System.out.println("succeeded...");
}
Obrigado