Usando o JMenuBar

4 respostas
DANIEL35
Bom dia amigos, preciso fazer o menu 6 funcionar, que se refere a sair do programa. Como faço para adicionar um comando do tipo:
........
  ......
    System.exit(0);
 }
}
Vejam o meu código:
import javax.swing.*;
import java.awt.*;
import java.awt.Color;

public class FramePrincipal extends JFrame{
	private JLabel l1, l2;
	private JMenuBar me;
 	private JMenuItem itemAlunos;
 	private TelaExemplo tex;
 	
public FramePrincipal(){
	setTitle("ACADEMIA FORÇA ATIVA");
	
	tex = new TelaExemplo();
	itemAlunos = new JMenuItem("alunos");
	itemAlunos.addActionListener(new TratarBotoes(tex));
	
    JMenu menu1 = new JMenu("CADASTROS");
        menu1.add(itemAlunos);
        menu1.add(new JMenuItem("funcionários"));
        menu1.add(new JMenuItem("visitantes"));
        menu1.add(new JSeparator());
        menu1.add(new JMenuItem("ACADEMIA"));

      	JMenu menu2 = new JMenu("CONSULTAS");
      	menu2.add(new JMenuItem("alunos cadastrados"));
        menu2.add(new JMenuItem("funcionários cadastrados"));
        menu2.add(new JMenuItem("mensalidades atrasadas"));
     	menu2.add(new JSeparator());
      	menu2.add(new JMenuItem("ACADEMIA"));
      
        JMenu menu3 = new JMenu("RELATÓRIOS");
        menu3.add(new JMenuItem("alunos da academia"));
        menu3.add(new JMenuItem("funionáriosa da academia"));
        menu3.add(new JMenuItem("mensalidades pagas"));
        menu3.add(new JMenuItem("mensalidades atrasadas"));
        menu3.add(new JSeparator());
        menu3.add(new JMenuItem("ACADEMIA"));
      
     	JMenu menu4 = new JMenu("MODALIDADES");
        menu4.add(new JMenuItem("musculação "));
        menu4.add(new JMenuItem("ginástica"));
        menu4.add(new JMenuItem("piscina"));
        menu4.add(new JMenuItem("yoga"));
        menu4.add(new JMenuItem("danças"));
        menu4.add(new JMenuItem("lutas"));
        menu4.add(new JMenuItem("pilates"));
        menu4.add(new JSeparator());
        menu4.add(new JMenuItem("ACADEMIA")); 
        
        JMenu menu5 = new JMenu("SERVIÇOS");
        menu5.add(new JMenuItem("Nutricionistas"));
        menu5.add(new JMenuItem("Personal VIP"));
        menu5.add(new JMenuItem("Força Ativa & você"));
        menu5.add(new JSeparator());
        menu5.add(new JMenuItem("ACADEMIA")); 
        
        JMenu menu6 = new JMenu("SAIR DO SISTEMA");     

      	JMenuBar bar = new JMenuBar();
      	bar.add(menu1);
      	bar.add(menu2);
     	bar.add(menu3);
     	bar.add(menu4);
      	bar.add(menu5);
      	bar.add(menu6);        
	
		JFrame jan = new JFrame();
     	jan.setJMenuBar(bar);
	
    	getContentPane().setBackground(Color.CYAN);
	    getContentPane().setLayout(new GridLayout(9,0));
    	getContentPane().add(bar);
	
		Icon bug = new ImageIcon("travelbug.gif");   
        l1 = new JLabel ("ACADEMIA FORÇA ATIVA",bug,SwingConstants.CENTER);
        l1.setForeground(Color.red);
    	add(l1);
	
    	setVisible(true);
	    setSize(550, 500);
    	setLocation(400, 200);	
	
	    /*l2 = new JLabel ("endereço",bug,SwingConstants.SOUTH);  
	    add(l2);*/ 
	}
}

4 Respostas

ViniGodoy

Do mesmo jeito que você faz para qualquer botão:

JMenu menu6 = new JMenu("SAIR DO SISTEMA"); menu6.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { System.exit(0); } }

Você pode fazer isso para um JMenuItem também:

JMenu menu4 = new JMenu("MODALIDADES"); JMenuItem mniMusculacao = new JMenuItem("Musculação"); mniMusculacao.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { //Abre a janela de musculação } }); menu4.add(mniMusculacao);

DANIEL35

Muito obrigado, vou testar aqui, depois digo o resultado.

DANIEL35

Testei aqui e deu a seguinte mensagem: '
expected nas linhas 62,62
ilegal start of expression linhas 63,63

Veja o código:
import javax.swing.*;
import java.awt.*;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class FramePrincipal extends JFrame{
	private JLabel l1, l2;
	private JMenuBar me;
 	private JMenuItem itemAlunos, itemSaida;
 	private TelaExemplo tex;
 	private TratarSadida sa;
 	
public FramePrincipal(){
	setTitle("ACADEMIA FORÇA ATIVA");
	
	tex = new TelaExemplo();
	itemAlunos = new JMenuItem("alunos");
	itemAlunos.addActionListener(new TratarBotoes(tex));
	
    JMenu menu1 = new JMenu("CADASTROS");
        menu1.add(itemAlunos);
        menu1.add(new JMenuItem("funcionários"));
        menu1.add(new JMenuItem("visitantes"));
        menu1.add(new JSeparator());
        menu1.add(new JMenuItem("ACADEMIA"));

      	JMenu menu2 = new JMenu("CONSULTAS");
      	menu2.add(new JMenuItem("alunos cadastrados"));
        menu2.add(new JMenuItem("funcionários cadastrados"));
        menu2.add(new JMenuItem("mensalidades atrasadas"));
     	menu2.add(new JSeparator());
      	menu2.add(new JMenuItem("ACADEMIA"));
      
        JMenu menu3 = new JMenu("RELATÓRIOS");
        menu3.add(new JMenuItem("alunos da academia"));
        menu3.add(new JMenuItem("funionáriosa da academia"));
        menu3.add(new JMenuItem("mensalidades pagas"));
        menu3.add(new JMenuItem("mensalidades atrasadas"));
        menu3.add(new JSeparator());
        menu3.add(new JMenuItem("ACADEMIA"));
      
     	JMenu menu4 = new JMenu("MODALIDADES");
        menu4.add(new JMenuItem("musculação "));
        menu4.add(new JMenuItem("ginástica"));
        menu4.add(new JMenuItem("piscina"));
        menu4.add(new JMenuItem("yoga"));
        menu4.add(new JMenuItem("danças"));
        menu4.add(new JMenuItem("lutas"));
        menu4.add(new JMenuItem("pilates"));
        menu4.add(new JSeparator());
        menu4.add(new JMenuItem("ACADEMIA")); 
        
        JMenu menu5 = new JMenu("SERVIÇOS");
        menu5.add(new JMenuItem("Nutricionistas"));
        menu5.add(new JMenuItem("Personal VIP"));
        menu5.add(new JMenuItem("Força Ativa & você"));
        menu5.add(new JSeparator());
        menu5.add(new JMenuItem("ACADEMIA")); 
     	
        JMenu menu6 = new JMenu("SAIR DO SISTEMA");
        menu6.addActionListener(new ActionListener) {  
        public void actionPerformed(ActionEvent evt) {  
        System.exit(0);  
   }  
}  

      	JMenuBar bar = new JMenuBar();
      	bar.add(menu1);
      	bar.add(menu2);
     	bar.add(menu3);
     	bar.add(menu4);
      	bar.add(menu5);
      	bar.add(menu6);        
	
		JFrame jan = new JFrame();
     	jan.setJMenuBar(bar);
	
    	getContentPane().setBackground(Color.CYAN);
	    getContentPane().setLayout(new GridLayout(9,0));
    	getContentPane().add(bar);
	
		Icon bug = new ImageIcon("travelbug.gif");   
        l1 = new JLabel ("ACADEMIA FORÇA ATIVA",bug,SwingConstants.CENTER);
        l1.setForeground(Color.red);
    	add(l1);
	
    	setVisible(true);
	    setSize(550, 500);
    	setLocation(400, 200);	
	
	    	}
}
ViniGodoy

Compara o que você escreveu com o que eu escrevi. Você vai ver que os dois códigos estão bem diferentes.

menu6.addActionListener(new ActionListener() { //--> Faltou abrir parênteses após a palavra "ActionListener" public void actionPerformed(ActionEvent evt) { System.exit(0); } }); //---> Faltou fechar aqui

Criado 17 de maio de 2010
Ultima resposta 17 de mai. de 2010
Respostas 4
Participantes 2