cara blza??
então eu fiz mais ou menos dá sim…
e dá certo…
package usandojinternal;
public class NovoJInternalFrame extends javax.swing.JInternalFrame {
public NovoJInternalFrame() {
initComponents();
}
// <editor-fold defaultstate="collapsed" desc=" Código Gerado ">
private void initComponents() {
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 394, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 274, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
// Declaração de variáveis - não modifique
// Fim da declaração de variáveis
}
Essa classe aí em cima é o JInternalFrame, você pode criar ele clicando em cima da package, Novo, Formulario JInternalFrame.
depois você cria sua classe principal onde vai ter o menu e o JDesktopPane
package usandojinternal;
public class NovoJFrame extends javax.swing.JFrame {
public NovoJFrame() {
initComponents();
jInternalFrame1.setVisible(false); // Você seta o JInternalFrame como false para ele não aparecer na tela
jDesktopPane1.add(e); // Adicione o JInternalFrame ao JDesktopFrame
// Lembrando que seu JInternalFrame vai ficar do tamanho do seu JDesktopPane ou menor, então na hora de colocar o JDesktopPane já coloque o tamanho dele.
}
NovoJInternalFrame e = new NovoJInternalFrame(); //Aqui você está instanciando a classe com o JInternalFrame
// <editor-fold defaultstate="collapsed" desc=" Código Gerado ">
private void initComponents() {
jInternalFrame1 = new javax.swing.JInternalFrame();
jDesktopPane1 = new javax.swing.JDesktopPane();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jInternalFrame1.setVisible(true);
javax.swing.GroupLayout jInternalFrame1Layout = new javax.swing.GroupLayout(jInternalFrame1.getContentPane());
jInternalFrame1.getContentPane().setLayout(jInternalFrame1Layout);
jInternalFrame1Layout.setHorizontalGroup(
jInternalFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 986, Short.MAX_VALUE)
);
jInternalFrame1Layout.setVerticalGroup(
jInternalFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 434, Short.MAX_VALUE)
);
jMenu1.setText("Menu");
jMenuItem1.setText("Item");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
AbrirTela(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jDesktopPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(15, 15, 15)
.addComponent(jInternalFrame1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(226, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(64, 64, 64)
.addComponent(jDesktopPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jInternalFrame1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(22, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
// Evento no JMenuItem
private void AbrirTela(java.awt.event.ActionEvent evt) {
e.setVisible(true); //A hora que clicar no JMenuItem setar o JInternalFrame para aparecer
}
Deu pra entender mais ou menos??