Boa noite a todos.
Estou tentando criar um programa salvando em memoria, onde eu coloco o produto em um jdialog e consigo ver em uma tabela num jframe principal.
Consegui criar o objeto e a lista e salvar no jframe principal , so que eu quero chamar um jdialog para ficar maus facil de criar os campos e tudo mais, e so deixa no frame principal a tabela pra vizualizar.
Vocês podem me ajudar nisto?
Desde ja agradeço!
Não sei quanto você conhece de programação, mas uma ideia é, se esse ArrayList é um atributo da classe principal, você pode criar métodos de acesso à ele, ou mesmo métodos acessórios para incluir ou editar elementos.
Exemplo simplificado:
class JanelaPrincipal extends JFrame{
private ArrayList produtos;
public void adicionarProduto(Produto pro){
produtos.add(pro);
}
// cria e chama o dialog
private void chamarDialog(){
new MeuDialog(this).setVisible(true);
}
}
class MeuDialog extends JDialog{
private JanelaPrincipal janelaPrincipal;
public MeuDialog(JanelaPrincipal principal){
janelaPrincipal = principal;
}
// método pra ser chamado ao clicar no botão salvar do JDialog
void salvarProduto(){
// cria produto e preenche dados
Produto pro = new Produto();
// salva na lista da janela principal
janelaPrincipal.adicionarProduto(pro);
}
}
Indo um pouco além, você pode ter classes acessórias que contém o arraylist e os métodos para acessar (incluir, alterar, listar, excluir), separadas das janelas, e tanto sua janela principal quanto o jdialog usam essas classes para manipular a lista de produtos. Essas classes auxiliares funcionam como um repositório (que é um dos termos para se referir à esse tipo de estrutura).
Abraço.
1 curtida
Valeu cara muito obrigado pela ajuda.
Abraços