Add em Jpanel

Oi pessoal, consegui passar do primeiro problema do JFrame com JPanel para cair em outro. Adicionei um JMenuBar no meu JFrame e criei uma série de menus já e adicionei o container JPanel no meu JFrame, só que ainda não descobri como adicionar os JPanels que eu já criei para o container que está no meu JFrame e nem como chamar o JPanel quando eu clicar em um item de menu.

Aqui estão os código do JFrame e do JPanel.

JFrame:

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

/*

  • Swing.java
  • Created on 09/02/2010, 11:39:27
    */

package gerap;

import java.awt.Container;

/**
*

  • @author f1831049
    */
    public class gerap extends javax.swing.JFrame {

    /** Creates new form Swing */
    public gerap() {
    initComponents();
    }

    /** This method is called from within the constructor to

    • initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is

    • always regenerated by the Form Editor.
      */
      @SuppressWarnings(“unchecked”)
      //
      private void initComponents() {

      jPanel1 = new javax.swing.JPanel();
      jMenuBar1 = new javax.swing.JMenuBar();
      geral = new javax.swing.JMenu();
      anotacoes = new javax.swing.JMenu();
      minhasAnot = new javax.swing.JMenuItem();
      notaAnot = new javax.swing.JMenuItem();
      deletaAnot = new javax.swing.JMenuItem();
      jSeparator1 = new javax.swing.JSeparator();
      novoFunci = new javax.swing.JMenuItem();
      removeFunci = new javax.swing.JMenuItem();
      alteraFunci = new javax.swing.JMenuItem();
      listarFunci = new javax.swing.JMenuItem();
      procuraFunci = new javax.swing.JMenuItem();
      jSeparator2 = new javax.swing.JSeparator();
      sair = new javax.swing.JMenuItem();
      salaReuniao = new javax.swing.JMenu();
      sala = new javax.swing.JMenu();
      adicionarSala = new javax.swing.JMenuItem();
      alterarSala = new javax.swing.JMenuItem();
      removerSala = new javax.swing.JMenuItem();
      listarSala = new javax.swing.JMenuItem();
      administradores = new javax.swing.JMenu();
      adicionarAdmin = new javax.swing.JMenuItem();
      removerAdmin = new javax.swing.JMenuItem();
      listarAdmin = new javax.swing.JMenuItem();
      reservas = new javax.swing.JMenu();
      adicionarReserva = new javax.swing.JMenuItem();
      removerReserva = new javax.swing.JMenuItem();
      alterarReserva = new javax.swing.JMenuItem();
      listarReserva = new javax.swing.JMenuItem();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      jPanel1.addComponentListener(new java.awt.event.ComponentAdapter() {
      public void componentHidden(java.awt.event.ComponentEvent evt) {
      jPanel1ComponentHidden(evt);
      }
      });

      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 400, Short.MAX_VALUE)
      );
      jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 281, Short.MAX_VALUE)
      );

      geral.setText(“Geral”);

      anotacoes.setText(“Anotações”);

      minhasAnot.setText(“Minhas anotações”);
      anotacoes.add(minhasAnot);

      notaAnot.setText(“Nova anotação”);
      anotacoes.add(notaAnot);

      deletaAnot.setText(“Deletar todas”);
      anotacoes.add(deletaAnot);

      geral.add(anotacoes);
      geral.add(jSeparator1);

      novoFunci.setText(“Adicionar novo funcionário”);
      geral.add(novoFunci);

      removeFunci.setText(“Remover Funcionário”);
      geral.add(removeFunci);

      alteraFunci.setText(“Alterar Funcionário”);
      geral.add(alteraFunci);

      listarFunci.setText(“Listar todos”);
      geral.add(listarFunci);

      procuraFunci.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_MASK));
      procuraFunci.setText(“Procurar”);
      geral.add(procuraFunci);
      geral.add(jSeparator2);

      sair.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_MASK));
      sair.setText(“Sair”);
      sair.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      sairActionPerformed(evt);
      }
      });
      geral.add(sair);

      jMenuBar1.add(geral);

      salaReuniao.setText(“Sala de Reunião”);

      sala.setText(“Sala”);

      adicionarSala.setText(“Adicionar”);
      adicionarSala.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      adicionarSalaActionPerformed(evt);
      }
      });
      sala.add(adicionarSala);

      alterarSala.setText(“Alterar”);
      sala.add(alterarSala);

      removerSala.setText(“Remover”);
      sala.add(removerSala);

      listarSala.setText(“Listar”);
      sala.add(listarSala);

      salaReuniao.add(sala);

      administradores.setText(“Administradores”);

      adicionarAdmin.setText(“Adicionar”);
      administradores.add(adicionarAdmin);

      removerAdmin.setText(“Remover”);
      administradores.add(removerAdmin);

      listarAdmin.setText(“Listar”);
      administradores.add(listarAdmin);

      salaReuniao.add(administradores);

      reservas.setText(“Reservas”);

      adicionarReserva.setText(“Adicionar”);
      reservas.add(adicionarReserva);

      removerReserva.setText(“Remover”);
      reservas.add(removerReserva);

      alterarReserva.setText(“Alterar”);
      reservas.add(alterarReserva);

      listarReserva.setText(“Listar Todos”);
      reservas.add(listarReserva);

      salaReuniao.add(reservas);

      jMenuBar1.add(salaReuniao);

      setJMenuBar(jMenuBar1);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      );

      pack();
      }//

    private void sairActionPerformed(java.awt.event.ActionEvent evt) {
    this.dispose();
    }

    private void adicionarSalaActionPerformed(java.awt.event.ActionEvent evt) {
    new adicionaSala().setVisible(true);
    }

    private void jPanel1ComponentHidden(java.awt.event.ComponentEvent evt) {
    // TODO add your handling code here:
    }

    /**

    • @param args the command line arguments
      */
      /public static void main(String args[]) {
      java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
      new gerap().setVisible(true);
      }
      });
      }
      /

    // Variables declaration - do not modify
    private javax.swing.JMenuItem adicionarAdmin;
    private javax.swing.JMenuItem adicionarReserva;
    private javax.swing.JMenuItem adicionarSala;
    private javax.swing.JMenu administradores;
    private javax.swing.JMenuItem alteraFunci;
    private javax.swing.JMenuItem alterarReserva;
    private javax.swing.JMenuItem alterarSala;
    private javax.swing.JMenu anotacoes;
    private javax.swing.JMenuItem deletaAnot;
    private javax.swing.JMenu geral;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JMenuItem listarAdmin;
    private javax.swing.JMenuItem listarFunci;
    private javax.swing.JMenuItem listarReserva;
    private javax.swing.JMenuItem listarSala;
    private javax.swing.JMenuItem minhasAnot;
    private javax.swing.JMenuItem notaAnot;
    private javax.swing.JMenuItem novoFunci;
    private javax.swing.JMenuItem procuraFunci;
    private javax.swing.JMenuItem removeFunci;
    private javax.swing.JMenuItem removerAdmin;
    private javax.swing.JMenuItem removerReserva;
    private javax.swing.JMenuItem removerSala;
    private javax.swing.JMenu reservas;
    private javax.swing.JMenuItem sair;
    private javax.swing.JMenu sala;
    private javax.swing.JMenu salaReuniao;
    // End of variables declaration

}[/code]

e o menu AdicionaSala por exemplo, eu tentei chamá-lo daquela forma, mas ainda não consegui. Aqui esta o JPanel do AdicionaSala:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * adicionaSala.java
 *
 * Created on 10/02/2010, 12:32:08
 */

package gerap;

import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import salareuniaoBean.*;
import salareuniaoDAO.*;

public class adicionaSala extends javax.swing.JPanel {

    /** Creates new form adicionaSala */
    public adicionaSala() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        sala = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        localizacao = new javax.swing.JTextField();
        ramal = new javax.swing.JTextField();
        disp = new javax.swing.JTextField();
        numCadeiras = new javax.swing.JTextField();
        descricao = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        btAddSala = new javax.swing.JButton();

        sala.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                salaActionPerformed(evt);
            }
        });

        jLabel1.setFont(new java.awt.Font("Verdana", 0, 14)); // NOI18N
        jLabel1.setText("Sala:");

        jLabel2.setFont(new java.awt.Font("Verdana", 0, 14)); // NOI18N
        jLabel2.setText("Localização:");

        jLabel3.setFont(new java.awt.Font("Verdana", 0, 14)); // NOI18N
        jLabel3.setText("Ramal:");

        jLabel4.setFont(new java.awt.Font("Verdana", 0, 14)); // NOI18N
        jLabel4.setText("Disponibilidade:");

        jLabel5.setFont(new java.awt.Font("Verdana", 0, 14)); // NOI18N
        jLabel5.setText("Número de Cadeiras");

        jLabel6.setFont(new java.awt.Font("Verdana", 0, 14)); // NOI18N
        jLabel6.setText("Descrição");

        jLabel7.setFont(new java.awt.Font("Verdana", 0, 18)); // NOI18N
        jLabel7.setForeground(new java.awt.Color(25, 90, 170));
        jLabel7.setText("Nova sala de reunião");

        btAddSala.setText("Adicionar");
        btAddSala.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btAddSalaActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(41, 41, 41)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel1)
                            .addComponent(jLabel2)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel6)
                                .addGap(12, 12, 12)))
                        .addGap(41, 41, 41)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(localizacao, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
                            .addComponent(numCadeiras, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(descricao, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
                            .addComponent(disp, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(sala, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(ramal, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel7)))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(124, 124, 124)
                .addComponent(btAddSala, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
                .addGap(76, 76, 76))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addComponent(jLabel7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(sala, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(localizacao, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(ramal, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(disp, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(numCadeiras, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel6)
                    .addComponent(descricao, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE)
                .addComponent(btAddSala, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
    }// </editor-fold>                        

    private void salaActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
    }                                    

    private void btAddSalaActionPerformed(java.awt.event.ActionEvent evt) {                                          
        try {
            Salas dao = new Salas();
            InformacoesSala inf = new InformacoesSala();
            
            inf.setCod_sala(sala.getText());
            inf.setLocalizacao(localizacao.getText());
            inf.setRamal_sala(Integer.parseInt(ramal.getText()));
            inf.setSala_disp(Integer.parseInt(disp.getText()));
            inf.setNum_cadeiras(Integer.parseInt(numCadeiras.getText()));
            inf.setDescricao(descricao.getText());

            dao.adicionaSala(inf);
            JOptionPane.showMessageDialog(null, "Informações adicionadas com sucesso.");

        } catch (SQLException ex) {
            Logger.getLogger(adicionaSala.class.getName()).log(Level.SEVERE, null, ex);
        }

    }                                         


    // Variables declaration - do not modify                     
    private javax.swing.JButton btAddSala;
    private javax.swing.JTextField descricao;
    private javax.swing.JTextField disp;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JTextField localizacao;
    private javax.swing.JTextField numCadeiras;
    private javax.swing.JTextField ramal;
    private javax.swing.JTextField sala;
    // End of variables declaration                   

}

eu quero que apareçam na mesma janela do JFrame. Fazer esse jpanel aparecer em uma janela a parte eu já consigo, e o menu funciona, mas tentar na mesma janela eu ainda não consigo.

vlw gente

Estou mudando para o JDesktop, e eita coisa infeliz essa, ngm sabe discorrer bem sobre ele, tudo fica mto subentendido e ngm fala sobre interações com o JMenuBar. Alguem sabe pelomenos um exemplo para passar?

procurei mto sobre o JDesktop so que todos dizem: “Tem que adicionar lá”, massa, mas adicionar aonde, ngm nem ao menos exemplifica. Estou no site da sun mas tb n eh algo mto trivial de se encontrar pelo que eu ja vi.

Se alguem puder me dizer ao menos aonde “adicionar lá” eu já agradeço.
vou continuar na busca cega
flws

[quote=andre.froes]Estou mudando para o JDesktop, e eita coisa infeliz essa, ngm sabe discorrer bem sobre ele, tudo fica mto subentendido e ngm fala sobre interações com o JMenuBar. Alguem sabe pelomenos um exemplo para passar?
[/quote]
Cuidado: para desenvolver em Swing não basta ter uma IDE que teoricamente faz as coisas para você pois, como você já deve ter percebido, isso não funciona. É preciso entender ao menos funcionamento básico da API. Saber, por exemplo, que para que qualquer componente seja exibido ele deve estar contido em um top-level container (um JFrame, um JDialog ou um JApplet) que esteja visível.

[quote=andre.froes]
procurei mto sobre o JDesktop so que todos dizem: “Tem que adicionar lá”, massa, mas adicionar aonde, ngm nem ao menos exemplifica.[/quote]
Cada caso é um caso. Não há porque exemplificar algo que não se aplica (e nem é muito viável ler todo o seu código, interpretá-lo, achar o problema, achar a solução e entregá-la para você).

Basta procurar no lugar certo: http://java.sun.com/docs/books/tutorial/uiswing/index.html
É a referência mais completa de Swing que conheço.

aewwww, resolvido!!! vlw man!