Usar um JPanel como contentPane de um JFrame

2 respostas
red_moskito

Olá pessoal,

Estou começando agora a brigar com o novo Matisse, do NetBeans 5.0…

Tenho um programa que possui uma tela principal (JFrame), a qual eu gostaria que, conforme o JMenuItem selecionado pelo usuário, mostrasse um JPanel diferente como contentPane. Para isso eu coloquei um ouvinte em cada JMenuItem, e criei as classes separadas extendendo JPanel. Essas classes separadas são instanciadas e adicionadas como contentPanes do JFrame principal quando um evento é disparado para o JMenuItem correspondente, da seguinte forma:

public void actionPerformed(ActionEvent evento) {
	if (evento.getSource() == Tela02MenuItem)
		vaiTela02();

	else if (evento.getSource() == Tela03MenuItem)
		vaiTela03();
}

private void vaiTela02() {
	this.setContentPane(new PainelTela02());
}

private void vaiTela03() {
	this.setContentPane(new PainelTela03());
}

Acontece que eu tenho um modelo dessa classe PainelTela02 (que, saliento, extende JPanel) feito no Eclipse usando VE, e o PainelTela03 feito no NetBeans usando o Matisse. O modelo feito no Eclipse aparece normalmente no JFrame principal durante a execução. Já quando eu uso o modelo feito no Matisse, não sei por que motivo o JPanel não aparece…

Não dá erro, não retorna exceção, simplesmente não aparece.

Acredito que o Matisse do NetBenas deve usar alguma particularidade na criação de subclasses de JPanels que esteja impedindo de aparecer.

Será que alguém poderia me dar uma luz? Ou talvez me indicar alguma outra forma de obter o mesmo resultado?

Desde já, obrigado.

2 Respostas

red_moskito

E aí galera? Não vai rolar um socorro? :oops:

Matheus_Tardivo

Acho que esse tutorial pode te ajudar: How to Use CardLayout

Criado 27 de março de 2006
Ultima resposta 29 de mar. de 2006
Respostas 2
Participantes 2