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