JMenu não aparece

4 respostas
rodrigoboeing

Galera to colocando um código ai pra ver se podem me ajudar, eu criei uma Tela em Java usando JFrame e agora queria colocar um JMenuBar, só que eu coloquei beleza, combilou e tudo, só que não aparece... Alguem poderia me ajudar...

Outra coisa no código eu coloquei um comentário "//Oque é isso" se qualguem puder me explicar aquela parte do código...

Valewww obrigado :D

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


public class Principal {
	

	public JMenuBar creatMenuBar() {
    	JMenuBar menucentral;
        JMenu menu;
        JMenuItem menuitem;
        	
        menucentral = new JMenuBar ();
        menu = new JMenu ("Cadastro");
       	menucentral.add(menu);
       	
       	menuitem = new JMenuItem ("Cliente");
       	menu.add(menuitem);


		return menucentral;
    }
    


    private static void Software() {


        JFrame frame = new JFrame("SoftWare Java");
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
    
	// O que isso aqui Faz???
    public static void main(String[] args)
    {
        javax.swing.SwingUtilities.invokeLater(new Runnable() 
        {
            public void run() {
                Software();
            }
        });
    }
}

4 Respostas

GustavoTavone

Falta adicionar seu menu no frame
tem q dar um pack();

arthurthiago

mude seu método Software para :

private static void Software() {
 
 
         JFrame frame = new JFrame("SoftWare Java");
         frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
         frame.setVisible(true);
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.add(creatMenuBar());
         frame.pack();

e pronto... vai funcionar.. pq como o nosso amigo Gustavo comentou:

Falta adicionar seu menu no frame tem q dar um pack();

E sim... o método public static void main(String[] args) é a primeira coisa que executa quando você roda seu programa... ou seja.. quando vc executar seu programa, ele vai fazer todos os comando que estão dentro do escopo deste método:

// O que isso aqui Faz???
     public static void main(String[] args)
     {
         javax.swing.SwingUtilities.invokeLater(new Runnable() 
         {
             public void run() {
                 Software();
             }
         });
     }

Ele vai rodar o método Software...

rodrigoboeing

Obrigado por ter tirado minha dúvida sobre o comentário que eu deixei…

Mais não seu certo o código naum em, tipo ele deixa a tela no tamanho do Menu e se eu maximizo a tela ele ocupa o tamanho da tela, ai num rola entende???

Aguardo a resposta valewww

rodrigoboeing

??? alguem pode me ajudar ai???

Criado 22 de fevereiro de 2007
Ultima resposta 26 de fev. de 2007
Respostas 4
Participantes 3