Manipular JPanel no JFrame

3 respostas
makecio

Boa tarde pessoal.
Estou fazendo um projetinhu aki pra univerdade, e estava querendo montar o desing do seguinte modo
fiz um panel ao lado esquerdo com botoes , e ao lado direito coloquei um JPanel
De acordo com os botoes que vou criacando quero dar setvisible = true pra aparecer o JPanel que eu desejar

Minha pergunta e a seguinte…
Como trabalha com varios JPanel no memso JFrame, pois quando eu vo colocar um emcima do outro , bagunça tudo .

Teria algum modo de quando eu termina de montar um JPanel ,bloquea-lo pra nao ser mas alterado?

Ex: parecido com photoshop quando vc coloca um cadeado na LAYER para bloquea-la

3 Respostas

B

Bom, nem vou dizer que você precisa aprender a história de “layout manager”. De qualquer maneira, talvez você queira algo parecido com o que vou mostrar daqui a pouco.

ViniGodoy

http://download.oracle.com/javase/tutorial/uiswing/layout/card.html

B
/**
 * 
 */
package guj;

import java.awt.BorderLayout;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.EtchedBorder;

public class JFramePrincipal extends JFrame {

    public JFramePrincipal() {
        super();
        initialize();
    }
    private JButton getBtnTela01() {
        if (btnTela01 == null) {
            btnTela01 = new JButton();
            btnTela01.setText("Tela 01");
            btnTela01.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    getTabpanePrincipal().setSelectedComponent(getTabTela01());
                }
            });
        }
        return btnTela01;
    }
    private JButton getBtnTela02() {
        if (btnTela02 == null) {
            btnTela02 = new JButton();
            btnTela02.setText("Tela 02");
            btnTela02.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    getTabpanePrincipal().setSelectedComponent(getTabTela02());
                }
            });
        }
        return btnTela02;
    }
    private JButton getBtnTela03() {
        if (btnTela03 == null) {
            btnTela03 = new JButton();
            btnTela03.setText("Tela 03");
            btnTela03.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    getTabpanePrincipal().setSelectedComponent(getTabTela03());
                }
            });
        }
        return btnTela03;
    }
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getPnlBotoes(), BorderLayout.WEST);
            jContentPane.add(getPnlStatus(), BorderLayout.SOUTH);
            jContentPane.add(getTabpanePrincipal(), BorderLayout.CENTER);
        }
        return jContentPane;
    }
    private JLabel getLblStatus() {
        if (lblStatus == null) {
            lblStatus = new JLabel();
            lblStatus.setText("Status");
        }
        return lblStatus;
    }
    private JMenu getMenuArquivo() {
        if (menuArquivo == null) {
            menuArquivo = new JMenu();
            menuArquivo.setText("Arquivo");
            menuArquivo.add(getMenuitemSair());
        }
        return menuArquivo;
    }
    private JMenuItem getMenuitemSair() {
        if (menuitemSair == null) {
            menuitemSair = new JMenuItem();
            menuitemSair.setText("Sair");
            menuitemSair.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    JFramePrincipal.this.dispose();
                }
            });
        }
        return menuitemSair;
    }
    private JMenuBar getMenuPrincipal() {
        if (menuPrincipal == null) {
            menuPrincipal = new JMenuBar();
            menuPrincipal.add(getMenuArquivo());
        }
        return menuPrincipal;
    }
    private JPanel getPnlBotoes() {
        if (pnlBotoes == null) {
            pnlBotoes = new JPanel();
            pnlBotoes.setLayout(new BoxLayout(getPnlBotoes(), BoxLayout.Y_AXIS));
            pnlBotoes.add(getBtnTela01(), null);
            pnlBotoes.add(getBtnTela02(), null);
            pnlBotoes.add(getBtnTela03(), null);
        }
        return pnlBotoes;
    }
    private JPanel getPnlStatus() {
        if (pnlStatus == null) {
            pnlStatus = new JPanel();
            pnlStatus.setLayout(new BoxLayout(getPnlStatus(), BoxLayout.X_AXIS));
            pnlStatus.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            pnlStatus.add(getLblStatus(), null);
        }
        return pnlStatus;
    }
    private JTabbedPane getTabpanePrincipal() {
        if (tabpanePrincipal == null) {
            tabpanePrincipal = new JTabbedPane();
            tabpanePrincipal.addTab("Tela 01", null, getTabTela01(), null);
            tabpanePrincipal.addTab("Tela 02", null, getTabTela02(), null);
            tabpanePrincipal.addTab("Tela 03", null, getTabTela03(), null);
            tabpanePrincipal.addChangeListener(new javax.swing.event.ChangeListener() {
                public void stateChanged(javax.swing.event.ChangeEvent e) {
                    getLblStatus().setText(tabpanePrincipal.getSelectedComponent().getName());
                }
            });
        }
        return tabpanePrincipal;
    }
    private JPanel getTabTela01() {
        if (tabTela01 == null) {
            lblTexto01 = new JLabel();
            lblTexto01.setText("Tela 01");
            lblTexto01.setHorizontalAlignment(SwingConstants.CENTER);
            tabTela01 = new JPanel();
            tabTela01.setLayout(new BorderLayout());
            tabTela01.add(lblTexto01, BorderLayout.CENTER);
            tabTela01.setName("Tela 01");
        }
        return tabTela01;
    }
    private JPanel getTabTela02() {
        if (tabTela02 == null) {
            lblTexto02 = new JLabel();
            lblTexto02.setText("Tela 02");
            lblTexto02.setHorizontalAlignment(SwingConstants.CENTER);
            tabTela02 = new JPanel();
            tabTela02.setLayout(new BorderLayout());
            tabTela02.add(lblTexto02, BorderLayout.CENTER);
            tabTela02.setName("Tela 02");
        }
        return tabTela02;
    }
    private JPanel getTabTela03() {
        if (tabTela03 == null) {
            lblTexto03 = new JLabel();
            lblTexto03.setText("Tela 03");
            lblTexto03.setHorizontalAlignment(SwingConstants.CENTER);
            tabTela03 = new JPanel();
            tabTela03.setLayout(new BorderLayout());
            tabTela03.add(lblTexto03, BorderLayout.CENTER);
            tabTela03.setName("Tela 01");
        }
        return tabTela03;
    }
    private void initialize() {
        this.setSize(300, 200);
        this.setJMenuBar(getMenuPrincipal());
        this.setContentPane(getJContentPane());
        this.setTitle("Principal");
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFramePrincipal thisClass = new JFramePrincipal();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }
    private static final long serialVersionUID = 1L;

    private JButton btnTela01 = null;

    private JButton btnTela02 = null;

    private JButton btnTela03 = null;

    private JPanel jContentPane = null;

    private JLabel lblStatus = null;

    private JLabel lblTexto01 = null;

    private JLabel lblTexto02 = null;

    private JLabel lblTexto03 = null;

    private JMenu menuArquivo = null;

    private JMenuItem menuitemSair = null;

    private JMenuBar menuPrincipal = null;

    private JPanel pnlBotoes = null;

    private JPanel pnlStatus = null;

    private JTabbedPane tabpanePrincipal = null;

    private JPanel tabTela01 = null;

    private JPanel tabTela02 = null;

    private JPanel tabTela03 = null;

}


Criado 27 de outubro de 2010
Ultima resposta 27 de out. de 2010
Respostas 3
Participantes 3