Olá galera, sou nova em Java e estou desenvolvendo uma aplicação MDI que faz o seguinte:
Da tela principal eu chamo como JDialog um JPainel q fica dentro de um jDesktopPane. Este JPainel contém uns campos de filtros, uma tblMestre com a listagem dos registros e os botões de Inserir, Alterar e Excluir. Quando eu clico no botão de Inserir eu quero que ele abra um outro JPanel com o formulário de inserção, até ai tudo bem, consigo faver abrir o outro painel tranquilo. quando seleciono um registro na tabela e clico no botão de Alterar ele tem que abrir o mesmo form de inserção mas com os campos ja setados com os valores do registro que foi selecionado na tabela do form anterior, mas é ai q tá o problema…não sei como fazer para mandar esses dados para o outro formulário…será que alguém pode me ajudar???
Sempre lembrando que estou chamando esses 02 JPanel como JDialog…
Estou aguardando ajuda!!!
Valeu galera!!!
[]'s
Não entendi. Os JPanels estão dentro do mesmo JDialog? Ou estão em dialogs diferentes?
Eles são filhos de alguma coisa? Você guarda eles em variáveis?
Põe o código da criação deles para nos ajudar.
Ah, e não esqueça de usar as tags code, como descrito aqui:
http://www.guj.com.br/posts/list/50115.java
Senão o código vai acabar ficar formatação…
Oi Vini!
acabei d deixar um comentário la no seu site… :lol:
é assim, cada JPanel é independente, cada cadastro tem o seu, eles não estão dentro do mesmo JDialog, na verdade eles não são JDialogs, eu só chamo eles de dentro do form principal como JDialog pra ficar uma janela modal, assim ó…
Este código esta no form principal e é acionado no ActionPerformed do botão Cidade.
JDialog idialog = new JDialog(getFrame(), "Lista de Cidades", true);
FormCidadeListagem form = new FormCidadeListagem();
form.jf = this.getFrame();
idialog.add(form);
idialog.pack();
idialog.getMaximumSize();
idialog.setLocationRelativeTo(getFrame());
idialog.setResizable(false);
idialog.setVisible(true);
O que ele faz é abrir um form com uma listagem dos últimos cadastros incluídos e com alguns campos de pesquisa. NEste mesmo Form também há o botão de inserir, alterar e excluir. No ActionPerformed do botão Inserir tem o seguinte código:
JDialog iDialog = new JDialog(jf, "Manutenção de Cidades", true);
FormCidadeManutencao form = new FormCidadeManutencao();
iDialog.add(form);
iDialog.pack();
iDialog.setLocationRelativeTo(jf);
iDialog.setVisible(true);
Este código faz com que um form para cadastro de cidades seja aberto (como JDialog).
Mas aí a minha dúvida e na hora da alteração: COmo eu faço pra setar os campos??Passar os dados selecionados do form de listagem para o form de inserção e alteração (que é o mesmo)??, e na volta, depois de incluir e fechar o form, como faço pra atualizar a tabela do formulário anterior(o de listagem)?
Cara se vc puder me ajudar agradeço muitoooo…pois ja estou tentando isso fazem 2 dias ou +…
Obrigado mesmo
[]'s
Bom, você vai ter que criar alguns getters nos seus forms. Além de uma maneira de descobrir se o usuário confirmou ou cancelou a ação.
Então, seu código vai ficar assim:
JDialog idialog = new JDialog(getFrame(), "Lista de Cidades", true);
FormCidadeListagem form = new FormCidadeListagem();
form.jf = this.getFrame();
idialog.add(form);
idialog.pack();
idialog.getMaximumSize();
idialog.setLocationRelativeTo(getFrame());
idialog.setResizable(false);
idialog.setVisible(true);
if (!form.confirmou())
return;
formManutencao.setCidade(formListagem.getCidadeSelecionada());
Oi ViniGodoy…olha só…este código que postei ai em cima esta no form principal e agora vou postar o código que estqa dentro do formulario de listagem que chama o form de manutenção:
No ActionPerformed do botão Inserir:
JDialog iDialog = new JDialog(jf, "Manutenção de Cidades", true);
FormCidadeManutencao form = new FormCidadeManutencao();//instanciando o novo Form
iDialog.add(form);
iDialog.pack();
iDialog.setLocationRelativeTo(jf);
iDialog.setVisible(true);
Acredito que seja neste código que preciso passar + alguma coisa…mas ainda não sei oq é…
A dica que vc postou não deu certo…Cara to muito atolada nisso aqui…
ObrigadãoO Pessoal!!