Como retornar valor de um estágio antes de fechá-lo?
Primeiro de tudo, desculpe pelo inglês ruim.
Aqui está o caso:
Eu tenho um "estágio principal" onde pressiono um botão para abrir um "segundo estágio" em que tenho uma tabela, o usuário seleciona um item da tabela e clica no botão "asignar" (que é apenas um botão de confirmação), uma vez clicado, ele deve retornar o código do item selecionado na tabela para o estágio principal e fechar o segundo estágio.
Aqui está o código que importa.
Eu tenho uma variável INT que deve levar o valor de uma função:
codigo = controller.setVista(this, usuario, password);
A função "setVista" é assim:
public int setVista(ListHorarios vista, String usuario, String password) {
this.vista = vista;
this.usuario = usuario;
this.password = password;
this.inicializarTabla();
this.actualizarTabla(0, "%");
btnSeleccionar.setOnAction(e -> {
asignarSeleccion();
Stage stage = (Stage) btnSeleccionar.getScene().getWindow();
stage.close();
});
return codigo_horario;
}
E o "asignarSeleccion" assim:
private void asignarSeleccion() {
final HorarioTableModelo aux_horario = getTablaSeleccionada();
posicion = datos.indexOf(aux_horario);
if (aux_horario != null) {
codigo_horario = aux_horario.getCodigo();
}
}
Meu problema é que não consigo obter o valor "codigo_horario" na primeira variável "codigo" antes do encerramento do estágio. O que estou perdendo?