Dúvida com MDI's

0 respostas
D

Pessoal,
Sou novo em Java e estou com problema em trabalhar com MDI’s, faz alguns dias que estou quebrando a cabeça com isso, já li alguns tutoriais, inclusive http://java.sun.com/docs/books/tutorial/uiswing/components/internalframe.html… Eu até consegiu fazer minha aplicação abrir um frame, mas só um.
É o seguinte: Eu tenho um JFrame chamado index. Esse JFrame tem alguns jMenuItem’s e cada um deles chama o respectivo jInternalFrame, por exemplo: O jMenuItem1 chama o jInternalFrame cfRel, o jMenuItem2 chama o jInternalFrame cfPro, etc… os jInternalFrame’s já estão criados. Eu consigo abrir um deles da seguinte forma:

...
import cadastro.*;            // pacote onde estão os jInternalFrame's
public class index extends JFrame {
...
private cfRel frame;         //cfRel é um jInternalFrame que está no pacote cadastro
...
	private JMenuItem getJMenuItem1() {
		if (jMenuItem1 == null) {
			jMenuItem1 = new JMenuItem();
			jMenuItem1.setText("Relação");
			jMenuItem1.setMnemonic(KeyEvent.VK_F);
			jMenuItem1.addActionListener(
					new ActionListener(){
				         public void actionPerformed (ActionEvent e)
				         {
				            frame = new cadCFrel();
				            jDesktopPane.add(frame);
				            frame.setVisible(true);
                                            frame.enable(true);
				         }
				      }
				    );
		}
		return jMenuItem;
	}

Sinceramente, não sei como fazer isso. Sei que dá pra fazer dentro do meu próprio index (JFrame principal) uma ação em cada jMenuItem para abrir o respectivo jInternalFrame, mas se eu fizer isso, quero dizer, criar um action para cada jMenuItem o meu código vai ficar muito grande, isso porque tenho muitos jMenuItem’s, sem falar que vai gerar muitas anonnymous inner class (index$XX.class).

Qualquer ajuda será muito bem vinda.
Muito obrigado pela atenção

Criado 10 de abril de 2006
Respostas 0
Participantes 1