Conteúdo de arraylist não e acessado de outra classe

6 respostas Resolvido
java
Renan_Nogueira

Acredito que seja coisa boba, porem ainda não achei o motivo de isso esta acontecendo.

List<CronometroTable> listBanco = new ArrayList<>();
ReportControllerDAO acaoBanco = new ReportControllerDAO();

@FXML
void acaoBotaoConfirmar(ActionEvent event) throws SQLException, Exception {
    LocalDate valueDate  = datePicker.getValue();
    listBanco = acaoBanco.read(java.sql.Date.valueOf(valueDate));
    
    GraficoController g1 = new GraficoController();
    g1.start(datePicker.getEditor().getText());
}

Possuo essa classe que se chama ReportController, a função dela e pegar uma data, e buscar uma lista do banco e armazenar essa lista em listBanco e abrir uma nova janela.
Consigo dar um for nessa lista e exibe normalmente todos os conteúdos que eu preciso. O problema ocorre quando eu tento acessar o conteúdo do listBanco na nova janela.

public void barChartInsert(){
   ReportController coletaInfo = new ReportController();
   for (int i=0; i<coletaInfo.listBanco.size(); i++)
   System.out.println(coletaInfo.listBanco.get(i).getNome_atividade());

}

Rodo este seguinte método na outra classe GraficoController, porem me retorna vazio.
Onde estou errando?

6 Respostas

FearX

Debugou o código?

Renan_Nogueira

Sim. Ainda nao consegui encontrar o motivo.

staroski

Na classe ReportController você cria um obtejo da classe GraficoController.

Na classe GraficoController você cria um novo objeto da classe ReportController.

Deveria usar o objeto que já existe e não criar um novo.

Renan_Nogueira

Qual seria a forma correta de ter acesso ao array pela classe GraficoController?
Extendendo a classe ReportController?

staroski
Solucao aceita

Existem várias formas.
Não sei como você modelou seu sistema.
Você poderia passar a lista como parâmetro ao GraficoControler.

O GraficoControler É um ReportController?
Se não for, não deve estender.

Renan_Nogueira

Consegui resolver, era questão nas instanciações mesmo. Vaaaleu!

Criado 11 de fevereiro de 2020
Ultima resposta 11 de fev. de 2020
Respostas 6
Participantes 3