Abrir um Jpanel em um JFrame

0 respostas
R

Tenho uma tela principal com jmenu e os jmenus itens conforme o codigo abaixo.
Como faço ao selecionar o jmenuItem usuarios abra um jpanel
na minha tela principal.

import java.awt.BorderLayout;
import java.awt.Toolkit;

import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

import View.Teste;



public class Principal extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JMenuBar barrajJMenuBar = null;

	private JMenu cadastrojMenu = null;

	private JMenu gastosjMenu = null;

	private JMenuItem usuariosjMenuItem = null;

	private JMenuItem estabelecimentosjMenuItem = null;

	private JMenuItem inserirGastosjMenuItem = null;

	private JMenu relatoriosjMenu = null;

	private JMenu sairjMenu = null;
	
  

	/**
	 * This is the default constructor
	 */
	public Principal() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(450, 250);
		this.setJMenuBar(getBarrajJMenuBar());
		this.setContentPane(getJContentPane());
		//centraliza a tela no meio
		this.setLocation(((Toolkit.getDefaultToolkit().getScreenSize().width  / 2) - (this.getWidth() / 2)),   
		((Toolkit.getDefaultToolkit().getScreenSize().height / 2) - (this.getHeight() / 2)));  
		this.setTitle("Tela Principal - Controle de Gastos.");
		
	}

	
	
	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
		}
		return jContentPane;
	}

	/**
	 * This method initializes barrajJMenuBar	
	 * 	
	 * @return javax.swing.JMenuBar	
	 */
	private JMenuBar getBarrajJMenuBar() {
		if (barrajJMenuBar == null) {
			barrajJMenuBar = new JMenuBar();
			barrajJMenuBar.setPreferredSize(new Dimension(20,30));
			barrajJMenuBar.add(getCadastrojMenu());
			barrajJMenuBar.add(getGastosjMenu());
			barrajJMenuBar.add(getRelatoriosjMenu());
			barrajJMenuBar.add(getSairjMenu());
		}
		return barrajJMenuBar;
	}

	/**
	 * This method initializes cadastrojMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getCadastrojMenu() {
		if (cadastrojMenu == null) {
			cadastrojMenu = new JMenu();
			cadastrojMenu.setText("Cadastro");
			cadastrojMenu.setMnemonic(KeyEvent.VK_C);
			cadastrojMenu.add(getUsuariosjMenuItem());
			cadastrojMenu.add(getEstabelecimentosjMenuItem());
			
			
		}
		return cadastrojMenu;
	}

	/**
	 * This method initializes gastosjMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getGastosjMenu() {
		if (gastosjMenu == null) {
			gastosjMenu = new JMenu();
			gastosjMenu.setText("Gastos");
			gastosjMenu.setMnemonic(KeyEvent.VK_G);
			gastosjMenu.add(getInserirGastosjMenuItem());
		}
		return gastosjMenu;
	}

	/**
	 * This method initializes usuariosjMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getUsuariosjMenuItem() {
		if (usuariosjMenuItem == null) {
			usuariosjMenuItem = new JMenuItem();
			usuariosjMenuItem.setText("Usuários");
			usuariosjMenuItem.setMnemonic(KeyEvent.VK_U);
			
			//Detecta interação com os itens do menu
			usuariosjMenuItem.addActionListener(new ActionListener() {  
			public void actionPerformed(ActionEvent arg0) {
				 Teste teste = new Teste();  
				 teste.setVisible(true);
			}  
				   
			 });  
		   }  
		return usuariosjMenuItem;
	}

	/**
	 * This method initializes estabelecimentosjMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getEstabelecimentosjMenuItem() {
		if (estabelecimentosjMenuItem == null) {
			estabelecimentosjMenuItem = new JMenuItem();
			estabelecimentosjMenuItem.setText("Estabelecimentos");
			estabelecimentosjMenuItem.setMnemonic(KeyEvent.VK_E);
		}
		return estabelecimentosjMenuItem;
	}

	/**
	 * This method initializes inserirGastosjMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getInserirGastosjMenuItem() {
		if (inserirGastosjMenuItem == null) {
			inserirGastosjMenuItem = new JMenuItem();
			inserirGastosjMenuItem.setText("Inserir Gastos");
			inserirGastosjMenuItem.setMnemonic(KeyEvent.VK_I);
		}
		return inserirGastosjMenuItem;
	}

	/**
	 * This method initializes relatoriosjMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getRelatoriosjMenu() {
		if (relatoriosjMenu == null) {
			relatoriosjMenu = new JMenu();
			relatoriosjMenu.setMnemonic(KeyEvent.VK_R);
			relatoriosjMenu.setText("Relatórios");
		}
		return relatoriosjMenu;
	}

	/**
	 * This method initializes sairjMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getSairjMenu() {
		if (sairjMenu == null) {
			sairjMenu = new JMenu();
			sairjMenu.setMnemonic(KeyEvent.VK_S);
			sairjMenu.setText("Sair");
			
		}
		return sairjMenu;
	}

	
	public static void main(String[] args) {
		new Principal().setVisible(true);
		
	}
	
	
}

Aqui é uma tela de teste para abrir

package View;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.GridBagConstraints;
import javax.swing.JTextField;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.event.KeyEvent;

public class Teste extends JPanel {

	private static final long serialVersionUID = 1L;
	private JLabel nomejLabel = null;
	private JTextField nomejTextField = null;
	private JLabel enderecojLabel = null;
	private JTextField enderecojTextField = null;
	private JButton okjButton = null;

	/**
	 * This is the default constructor
	 */
	public Teste() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
		gridBagConstraints4.gridx = 1;
		gridBagConstraints4.gridheight = 2;
		gridBagConstraints4.gridy = 2;
		GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
		gridBagConstraints3.fill = GridBagConstraints.VERTICAL;
		gridBagConstraints3.gridy = 1;
		gridBagConstraints3.weightx = 1.0;
		gridBagConstraints3.gridx = 1;
		GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
		gridBagConstraints2.gridx = 0;
		gridBagConstraints2.gridy = 1;
		enderecojLabel = new JLabel();
		enderecojLabel.setText("Endereço:");
		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
		gridBagConstraints1.fill = GridBagConstraints.VERTICAL;
		gridBagConstraints1.gridy = 0;
		gridBagConstraints1.weightx = 1.0;
		gridBagConstraints1.gridx = 1;
		GridBagConstraints gridBagConstraints = new GridBagConstraints();
		gridBagConstraints.gridx = 0;
		gridBagConstraints.gridy = 0;
		nomejLabel = new JLabel();
		nomejLabel.setText("Nome:" +"");
		this.setSize(300, 200);
		this.setVisible(true);
		this.setLayout(new GridBagLayout());
		this.add(nomejLabel, gridBagConstraints);
		this.add(getNomejTextField(), gridBagConstraints1);
		this.add(enderecojLabel, gridBagConstraints2);
		this.add(getEnderecojTextField(), gridBagConstraints3);
		this.add(getOkjButton(), gridBagConstraints4);
	}

	/**
	 * This method initializes nomejTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNomejTextField() {
		if (nomejTextField == null) {
			nomejTextField = new JTextField();
			nomejTextField.setPreferredSize(new Dimension(120, 20));
		}
		return nomejTextField;
	}

	/**
	 * This method initializes enderecojTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getEnderecojTextField() {
		if (enderecojTextField == null) {
			enderecojTextField = new JTextField();
			enderecojTextField.setPreferredSize(new Dimension(120, 20));
		}
		return enderecojTextField;
	}

	/**
	 * This method initializes okjButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getOkjButton() {
		if (okjButton == null) {
			okjButton = new JButton();
			okjButton.setPreferredSize(new Dimension(70, 20));
			okjButton.setMnemonic(KeyEvent.VK_O);
			okjButton.setText("OK");
			
		}
		return okjButton;
	}

}
Criado 9 de novembro de 2009
Respostas 0
Participantes 1