Navegação entre JInternalFrames

4 respostas
H

Olá Pessoas!

Eu tava fazendo um trabalho de faculdade que abre vários JInternalFrame ai me surgiu a seguinte dúvida: [i]“COMO FAZER COM QUE AS TELAS ABERTAS SEJAM EXIBIDAS EM UM MENU (janela por exemplo) E AO CLICAR NESTE ITEM DE MENU ELE SE TORNE ATIVO?”[/i]

Nâo sei se existe algum componente que faça isso mas eu tentei fazer na mão e não obtive muito sucesso e ficou da seguinte forma:

jDesktopPane1.addContainerListener(new ContainerListener() {
	public void componentAdded(ContainerEvent arg0) {
		JMenuItem menuItem = new JMenuItem(
				((JInternalFrame) jDesktopPane1.getComponent(jDesktopPane1.getComponentCount() - 1)).getTitle());
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				jDesktopPane1.getDesktopManager().activateFrame((JInternalFrame) jDesktopPane1.getComponent(jDesktopPane1.getComponentCount() - 1));
				jDesktopPane1.setFocusable(true);
			}});
			jJanelas.add(menuItem);
		}

			public void componentRemoved(ContainerEvent arg0) {
			}
			public void limpaclasse(JInternalFrame frame) {
				frame = null;
			}
	});

Alguem já fez algo parecido ?

4 Respostas

Zakim

se eu entendi a questao… vc quer ativar e desativar (tornar visivel e invisivel) os JInternalFrames quando vc acionar algum botão?

se for isso e a sua aplicação nao for muito grande

cria um botao que chama a internal frame.

ai caso vc nao queira dar o dipose() para fechar ela…
vc pode dar o setVisible(false) que a torna invisivel

:stuck_out_tongue:

valeu

H

Zakim:
se eu entendi a questao… vc quer ativar e desativar (tornar visivel e invisivel) os JInternalFrames quando vc acionar algum botão?

se for isso e a sua aplicação nao for muito grande

cria um botao que chama a internal frame.

ai caso vc nao queira dar o dipose() para fechar ela…
vc pode dar o setVisible(false) que a torna invisivel

:stuck_out_tongue:

valeu

Fala Zakim!

Não sei se seria a forma ideal de fazer!

Para ficar mais claro, no word quando você vários documentos abertos você vai no menu Janela você tem eles ali e pode “navegar entre eles”.

Seria isso mas de forma “inteligente”.

Poderia criar estes menus e no momento em que eles forem abertos eles se tornam visiveis e o quando fechados invisiveis.

Tava tentando fazer de madeira diferente para que eu não dependece deste menu na criação de uma nova tela.

O método que eu inseri quase funcionou… só não deu certo porque ele mistura os jInternalFrames. Mas talvez exista alguma madeira mais simples ou o que eu fiz está muito errado sacou ?

Valeu Pessoal!

H

Pessoas me ajudem :!:

H

Alguem me dê uma luz! :idea:

Criado 4 de julho de 2007
Ultima resposta 10 de jul. de 2007
Respostas 4
Participantes 2