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;
}
}