Add em Jpanel

3 respostas
A

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:
/*
 * 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")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    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();
    }// </editor-fold>

    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

}
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

3 Respostas

A

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

M

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?

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.

andre.froes:

procurei mto sobre o JDesktop so que todos dizem: “Tem que adicionar lá”, massa, mas adicionar aonde, ngm nem ao menos exemplifica.

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.

A

aewwww, resolvido!!! vlw man!

Criado 12 de fevereiro de 2010
Ultima resposta 12 de fev. de 2010
Respostas 3
Participantes 2