Olá, Silvy! Como vai?
Pelo que percebi na sua descrição, parece que o problema está na comunicação entre os controllers. Quando você cria um novo cliente, ele não está sendo efetivamente adicionado à lista de clientes que é exibida na tela de Lista de Clientes.
Um ponto importante é garantir que você está utilizando a mesma instância da lista de clientes em todos os lugares. Se você estiver criando uma nova lista de clientes em cada controller, eles não vão compartilhar os mesmos dados.
Vou te dar um exemplo prático. Suponha que temos uma classe chamada DadosBanco
que guarda uma lista de clientes. Quando você inicia o programa, você cria uma instância dessa classe e passa ela para todos os controllers. Dessa forma, quando você adiciona um cliente em um controller, ele estará disponível em todos os outros.
public class DadosBanco {
private List<Cliente> clientes;
public DadosBanco() {
this.clientes = new ArrayList<>();
}
public List<Cliente> getClientes() {
return clientes;
}
public void addCliente(Cliente cliente) {
this.clientes.add(cliente);
}
}
E nos seus controllers, você teria algo assim:
public class ListaClientesController {
private DadosBanco dadosBanco;
public ListaClientesController(DadosBanco dadosBanco) {
this.dadosBanco = dadosBanco;
}
// ...
}
public class SelecaoTipoContaController {
private DadosBanco dadosBanco;
public SelecaoTipoContaController(DadosBanco dadosBanco) {
this.dadosBanco = dadosBanco;
}
// ...
}
Então, quando você cria um novo cliente, você adiciona ele na lista de clientes do DadosBanco
:
Cliente novoCliente = new Cliente(...);
dadosBanco.addCliente(novoCliente);
E quando você quer listar os clientes, você pega a lista do DadosBanco
:
List<Cliente> clientes = dadosBanco.getClientes();
Espero que isso te ajude a resolver o problema. Se não for isso, por favor, me dê mais detalhes para que eu possa te ajudar melhor.
Espero ter ajudado e bons estudos!