Boa Tarde pessoal.
Eu estou fazendo um projeto em Java(sou iniciante nessa linguagem), e estou agora fazendo a interface gráfica do projeto.
Depois de muita pesquisa, considerei o CardLayout como o melhor modo de exibição para os meus painéis que já estão prontos. Cada painel tem sua classe, inclusive o painel de layout CardLayout.
Configurei um JPanel composto por: 1)Um JPanel com botões que tornarão os painéis visíveis, e 2) o JPanel conteudoPanel, cujo Layout é CardLayout. Aprendi aqui mesmo no fórum como tornar os painés visíveis, quanto o botão for pressionado. Estou utilizando o seguinte código para tornar visível:
cadastrarBotao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
CardLayout cl = (CardLayout)(conteudoPanel.getLayout());
cl.show(conteudoPanel, "Cadastrar");
}
});
Com esse código eu quero, quando o botão cadastrarBotao for pressionado, o painel “Cadastrar”, será exibido em conteudoPanel(cujo layout é CardLayout.
O código funcionou perfeitamente quando testei com painéis em uma só classe. Quando apliquei o código no meu projeto (repito: cujos painéis estão em classes diferentes) não funcionou. Ao executar o projeto tudo aparece como deveria aparecer, mas ao clicar nos botões, o conteudoPanel não muda o painel de exibição.
Alguém saberia dizer o porque?
Ps.: Estou usando Eclipse 3.3 + Visual Editor (com patch para funcionar no Eclipse 3.3)