A interface não está salvando os projetos

Pelo que vi no seu código. Quando a ação de salvar for executada na dialog, vc precisaria forçar a atualização do componente JList no frame MainScreen.

Uma forma que vi, seria utilizar o parent recebido no construtor do ProjectDialogScreen:

public ProjectDialogScreen(java.awt.Frame parent, boolean modal) {
  super(parent, modal);

Vc pode tentar chamar o método loadProjects() da classe MainScreen, fazendo cast do parent recebido, logo após salvar o projeto:

try {
  Project project = new Project();
  project.setName(jTextFieldName.getText());
  project.setDescription(jTextAreaDescription.getText());            
  controller.save(project);
  ((MainScreen) getParent()).loadProjects(); // tente adicionar essa linha
  JOptionPane.showMessageDialog(rootPane, "Projeto salvo com sucesso");
} catch (Exception e) {
  JOptionPane.showMessageDialog(rootPane, e.getMessage());
}

Veja se isso funciona.

1 curtida

Muito obrigado, mesmo de verdade, um grande heroi, deu tudo certo aqui.

Apenas cuidado com essa solução, pq, caso essa mesma JDialog seja chamada por um JFrame diferente, provavelmente ocorrerá um erro no cast.

1 curtida