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?

questionAnswers(3)

yourAnswerToTheQuestion