Problemas com o actionPerformed (JButton inserido através de um JToolBar)

2 respostas
rpatricia

Pessoal

Estou com um problema…

Consegui inserir os botões no meu menu pelo JToolBar, mas não consigo fazer eles funcionarem, será que alguém poderia olhar o meu código abaixo e dizer em que estou errando, por favor?

Ah anexei um print tela do menu para verificarem caso seja necessário…

import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.JToolBar;


public class Menu extends JFrame implements ActionListener{
	
private JDesktopPane theDesktop;
private JToolBar toolbar;
private JMenuBar barraMenu;
private JButton bnovo,beditar,brel;
private JMenu menuMenu, menuEditar, menuRelatorio, menuSobre;
private JMenuItem itemNovo,itemSair,
	 itemAlterar,itemImprimir,
                 itemVersao, itemAjuda;
	
	public Menu(){
		super("DAMP Informática");
		montaTela();
	}
	
	public void montaTela() {
		setLocation(100,100);
	getContentPane().setBackground(new Color(222,222,222));
		setSize(600,500);
		setResizable(true);
	
		
		JMenuBar menu = this.montaMenu();
		setJMenuBar(menu);
		
		
		setVisible(true);
	}
	
	public JMenuBar montaMenu(){
		
		barraMenu = new JMenuBar();
		
	    //Monta Menu Menu
		menuMenu = new JMenu("MENU");
		menuMenu.setMnemonic(KeyEvent.VK_M);
		
		itemNovo = new JMenuItem("Novo");
		itemNovo.addActionListener(this);
		itemNovo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.ALT_MASK));
		itemNovo.setMnemonic(KeyEvent.VK_N);
		itemNovo.setToolTipText("Pressione aqui para cadastrar um cliente novo");
		
		itemSair = new JMenuItem("Sair");
		itemSair.addActionListener(this);
		itemSair.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.ALT_MASK));
		itemSair.setMnemonic(KeyEvent.VK_R);
		itemSair.setToolTipText("Pressione aqui para sair do sistema");
		
		menuMenu.add(itemNovo);
		menuMenu.addSeparator();
		menuMenu.add(itemSair);
		
		
		//Monta Menu Editar
		menuEditar = new JMenu("EDITAR");
		menuEditar.setMnemonic(KeyEvent.VK_E);
		
		itemAlterar = new JMenuItem("Alterar");
		itemAlterar.addActionListener(this);
		itemAlterar.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.ALT_MASK));
		itemAlterar.setMnemonic(KeyEvent.VK_A);
		itemAlterar.setToolTipText("Pressione aqui para alterar cadastro");	
		
				
		menuEditar.add(itemAlterar);
				
		
		//Monta Menu Relatorio
		menuRelatorio = new JMenu("RELATORIO");
		menuRelatorio.setMnemonic(KeyEvent.VK_R);
		
		itemImprimir = new JMenuItem("Imprimir");
		itemImprimir.addActionListener(this);
		itemImprimir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.ALT_MASK));
		itemImprimir.setMnemonic(KeyEvent.VK_I);
		itemImprimir.setToolTipText("Pressione aqui para imprimir na tela");	
		
		menuRelatorio.add(itemImprimir);
			
			
		//Monta Menu Sobre
		menuSobre = new JMenu("SOBRE");
		menuSobre.setMnemonic(KeyEvent.VK_S);
		
		itemVersao = new JMenuItem("Versão");
		itemVersao.addActionListener(this);
		itemVersao.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.ALT_MASK));
		itemVersao.setMnemonic(KeyEvent.VK_V);
		itemVersao.setToolTipText("Pressione aqui para verificar a versão do sistema");
		
		itemAjuda = new JMenuItem("Ajuda");
		itemAjuda.addActionListener(this);
		itemAjuda.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_J, ActionEvent.ALT_MASK));
		itemAjuda.setMnemonic(KeyEvent.VK_J);
		itemAjuda.setToolTipText("Pressione aqui para obter informações do sistema");		
		
		menuSobre.add(itemVersao);
		menuSobre.addSeparator();
		menuSobre.add(itemAjuda);
		
		//Adicionando os Menus na Barra de Menus
		barraMenu.add(menuMenu);
		barraMenu.add(menuEditar);
		barraMenu.add(menuRelatorio);
		barraMenu.add(menuSobre);

		JToolBar toolbar = new JToolBar();

		JButton bnovo = new JButton("NOVO");
		bnovo.addActionListener(this);
		toolbar.add(bnovo);

		toolbar.addSeparator(); 
					
		JButton beditar = new JButton ("ALTERAR");
		beditar.addActionListener(this);
		toolbar.add(beditar);

		toolbar.addSeparator();
  
		JButton brel = new JButton ("VISUALIZAR");
		brel.addActionListener(this);
		toolbar.add(brel);

		
	this.getContentPane().add(toolbar, BorderLayout.NORTH);

		toolbar.setFloatable(true);
		//this.pack();

	
		return barraMenu;
	}
	
			
	public void actionPerformed(ActionEvent evt){  
if (evt.getSource() == itemNovo || evt.getSource() == bnovo){
		FormCadastro cadastro = new FormCadastro();
      		
      	}   		
      	
      	if (evt.getSource() == itemSair){
      		System.exit(0);
      	}   		
      	
      if (evt.getSource() == itemAlterar || evt.getSource() == beditar){
      		TelaAlterar altera = new TelaAlterar();
      		
      	}
		
      if (evt.getSource() == itemImprimir || evt.getSource() == brel){
      		Consultar consulta = new Consultar();
      	}   		
      	
      	if (evt.getSource() == itemVersao){
      		Versao versao = new Versao();
      	}   
      	
		if (evt.getSource() == itemAjuda){
      		System.exit(0);
      	}

	
	
   		
   		}
   		
  
}

Obrigada
abs
Patricia

2 Respostas

m4des

Olá, não precisa declarar os JButton duas vezes, este é o erro

rpatricia

Putz :roll:
Que vacilo meu, era isso mesmo!!!
Agora funcionou :wink:

valeu mesmo

abs
Patricia

Criado 28 de novembro de 2006
Ultima resposta 29 de nov. de 2006
Respostas 2
Participantes 2