Não consigo inserir um JMenu e JMenu Item [resolvido]

public class Principal extends JFrame {  
   
    private static JLabel cimaMenu;
	private static Window Clientes;


	public Principal () {  
    super ("Principal");  
    setExtendedState(JFrame.MAXIMIZED_BOTH);
    
    initComponents();
    }  
  
        
    private void initComponents() {
    	JMenu cimaMenu = new javax.swing.JMenu();
    	JMenuItem Clientes = new javax.swing.JMenuItem();	
		}


	public static void main (String [] args) {  
    	Principal janela = new Principal ();
        janela.setVisible (true);
        
        
        cimaMenu.setText("Cadastro");
        janela.add(cimaMenu);
        cimaMenu.setVisible(true);
        Clientes.setVisible(true);
                                
    }      
}

da o erro

Exception in thread “main” java.lang.NullPointerException
at Interface.Principal.main(Principal.java:37)

se eu comento //cimaMenu.setText(“Cadastro”);

da o erro

Exception in thread “main” java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at javax.swing.JFrame.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at Interface.Principal.main(Principal.java:38)

se eu comento a linha // janela.add(cimaMenu);

Exception in thread “main” java.lang.NullPointerException
at Interface.Principal.main(Principal.java:39)

se eu comento a linha // cimaMenu.setVisible(true);

Exception in thread “main” java.lang.NullPointerException
at Interface.Principal.main(Principal.java:40)

se eu comento //Clientes.setVisible(true);

aparece a tela maximizada normal sem nada.

  1. Que mania, a de usar variáveis e métodos estáticos! Só use variáveis estáticas se souber o que está fazendo (o que não parece ser o seu caso).
  2. Você está “escondendo” a variável cimaMenu declarando outra variável local cimaMenu dentro do método initComponents. Foi isso que gerou o “null pointer exception”. A mesma coisa com a variável “Clientes”.
  3. Use sempre um padrão para dar nomes a variáveis e métodos. Comece os nomes das suas variáveis por minúsculas, e de seus métodos por minúsculas também; reserve nomes com maiúsculas para classes e interfaces. Só isso vai lhe evitar um monte de confusão.

100%

[code]import javax.swing.*;

public class Principal extends JFrame {

public Principal() {
    super("Principal");
    initComponents();
}

private void initComponents() {

    JMenuBar menuBar = new JMenuBar();
    JMenu cimaMenu = new JMenu("Cadastro");
    JMenuItem Clientes = new JMenuItem("Clientes");

    this.setJMenuBar(menuBar);
    menuBar.add(cimaMenu);
    cimaMenu.add(Clientes);
}

public static void main(String[] args) {
    Principal janela = new Principal();
    janela.setExtendedState(JFrame.MAXIMIZED_BOTH);
    janela.setVisible(true);
}

}[/code]

Deu certo Ddenis3526, tu é o cara.