Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

roots_raiz

Botão JInternalFrame chamando outro JInternalFrame

Recommended Posts

Boa tarde,

 

Tenho uma classe JFrame, onde possuo uma barra(JMenuBar) de menus que nos eventos dos submenus(JMenuItem) faço as chamadas dos JInternalFrames, ainda nessa classe tenho um JDesktopPane.

 

O Problema: Quando estou em algum JInternalFrame e clico no botão para mostrar outro JInternalFrame não estou conseguindo mostrar.

 

Preciso saber como mostrar um JInternalFrame, a partir do evento de um botão que está em outro JInternalFrame.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu fiz um exemplo com desktopPane e internalframe, espero ter ajudado

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;


public class TesteInternalFrame extends JFrame {

JMenuItem mntmSair;
JMenuItem mntmInternal1;
JMenuItem mntmInternal2;

JDesktopPane desktopPane;
JInternalFrame internalFrame1;
JInternalFrame internalFrame2;

public static void main(String[] args) {
	new TesteInternalFrame();
}

public TesteInternalFrame() {		
	//adicionando os Menus
	JMenuBar menuBar = new JMenuBar();
	setJMenuBar(menuBar);

	JMenu mnArquivo = new JMenu("Arquivo");
	menuBar.add(mnArquivo);

	mntmSair = new JMenuItem("Sair");
	mntmSair.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			System.exit(0);
		}
	});
	mnArquivo.add(mntmSair);

	JMenu mnInternalframes = new JMenu("InternalFrames");
	menuBar.add(mnInternalframes);

	mntmInternal1 = new JMenuItem("Internal1");
	mnInternalframes.add(mntmInternal1);
	mntmInternal1.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			if(!internalFrame1.isVisible()){
				internalFrame1.setVisible(true);
			}
		}
	});

	mntmInternal2 = new JMenuItem("Internal2");
	mntmInternal2.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			if(!internalFrame2.isVisible()){
				internalFrame2.setVisible(true);
			}
		}
	});
	mnInternalframes.add(mntmInternal2);

	//adicionando o desktopPane
	desktopPane = new JDesktopPane();
	getContentPane().add(desktopPane, BorderLayout.CENTER);		

	internalFrame1 = new JInternalFrame("Internal 1", true, true);
	internalFrame1.setBounds(10, 10, 150, 100);
	desktopPane.add(internalFrame1);
	internalFrame2 = new JInternalFrame("Internal 2", true, true);
	internalFrame2.setBounds(5, 5, 150, 100);
	desktopPane.add(internalFrame2);

	setVisible(true);
	setSize(300,200);
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.