import javax.swing.*;
import java.awt.*;
import java.awt.Color;
public class FramePrincipal extends JFrame{
private JLabel l1, l2;
private JMenuBar me;
public FramePrincipal(){
setTitle("ACADEMIA FORÇA ATIVA");
JMenu menu1 = new JMenu("CADASTROS");
menu1.add(new JMenuItem("alunos"));
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(580, 500);
setLocation(400, 200);
}
}
Ajuda ao usar o JMenuBar
6 Respostas
A maneira que pega-se o evento de um JButton é a mesma de um JMenuItem.
E depois que fizer isso, basta exibir o Frame, ou caso seja um InternalFrame, use o add do DesktopPane.
Abraços
Certo, mas não teria como deixar um exemplo. Sou novo em Java, e muitas coisas não consigo entender tão facilmente.
Boa noite a todos.
Para fazer o Menu disparar eventos, voce precisa implementar uma interface chamada “ActionListener” isto na declaração de classe, assim:
.....
public class FramePrincipal extends JFrame implements ActionListener {
....
....
}
Se voce estiver utilizando o NetBeans ou Eclipse, ele deve colocar um ícone de lâmpada amarela ao lado da linha de declaração da classe, click neste ícone com o botão direito do mouse e mande implementar todos os métodos abstratos, ele vai escrever o método ActionPerformed assim:
....
public void actionPerformed(ActionEvent e) {
}
....
Só que para implementar este método, necessário seria voce criar as instâncias de MenuItem também, assim:
....
....
JMenu menu1 = new JMenu("CADASTROS");
JMenuItem mnualunos = new JMenuItem("alunos");
mnualunos.addActionListener(this); // Adiciona o evento ao menu
menu1.add(mnualunos);
JMenuItem mnufuncionarios = new JMenuItem("funcionários"));
mnufuncionarios.addActionListener(this) // Aciona o evento ao menu
menu1.add(mnufuncionarios);
.....
.....
JMenuBar bar = new JMenuBar();
bar.add(menu1);
.....
Agora podemos implementar o método ActionPerformed desta maneira:
public void actionPerformed(ActionEvent e) {
if (e.getSource()==mnualunos){
// instancia o JInternaFrame Alunos
// acrescente Alunos no JDesktopPane
} else if (e.getSource()==mnufuncionarios){
// instancia o JInternaFrame Funcionarios
// acrescente Funcionarios no JDesktopPane
}
}
Bem amigo, eu sou novo tambem em Java, mas utilizo IDE ao inves de voce que programa tudo na unha, pelo que estou vendo em varios topicos seus. Mas é melhor aprender na unha mesmo, porque fica mais facil para quando voce pegar na ide, voce ja tem uma base bem fixa!
Entao fica meio dificil as vezes te ajudar com exemplos, pois eu teria que faze-lo inteiro aqui para ver se realmente ira funcionar, entende.
Abraços
Certo, beleza. Vou tentar fazer aqui e depois posto o resultado. Acredito que vai dar certo. Valeu.