Tentei instanciar meu JMenu, mas não aparece nada

Vejam só o código da minhas classes “TelaPirncipal” que é da do menu, “CadastrarAluno” e a main “TelaAcao”:

TelaPrincipal
package gui;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class TelaPrincipal extends JFrame implements ActionListener{

public TelaPrincipal(){//Construtor da minha Janela Principal
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setTitle("Sistema de Cadastro");
    setSize(550,450);//Define Tamando da Janela
    setLocation(700,300);//Centraliza à Janela
    
        barraMenu.add(menuAluno);
//add itens no Menu Aluno
menuAluno.add(itemCadastrarAluno);
menuAluno.add(itemProcurarAluno);
menuAluno.add(itemRemoverAluno);

barraMenu.add(menuProfessor);
//add itens no Menu Curso
menuProfessor.add(itemCadastrarProfessor);
menuProfessor.add(itemProcurarProfessor);
menuProfessor.add(itemRemoverProfessor);

barraMenu.add(menuCurso);
menuCurso.add(itemCadastrarCurso);
menuCurso.add(itemProcurarCurso);
menuCurso.add(itemRemoverCurso);

barraMenu.add(menuSistema);
menuSistema.add(itemSistemaSobre);
menuSistema.add(itemSistemaSair);

getContentPane().add(barraMenu, BorderLayout.NORTH);// Exibir a barra no Painel
  
setVisible(true);//Tornar Painel visível
}


private JMenuBar barraMenu;

private JMenu menuAluno;
private JMenu menuProfessor;
private JMenu menuCurso;
private JMenu menuSistema;

private JMenuItem itemCadastrarAluno;
private JMenuItem itemProcurarAluno;
private JMenuItem itemRemoverAluno;

private JMenuItem itemCadastrarProfessor;
private JMenuItem itemProcurarProfessor;
private JMenuItem itemRemoverProfessor;

private JMenuItem itemCadastrarCurso;
private JMenuItem itemProcurarCurso;
private JMenuItem itemRemoverCurso;

private JMenuItem itemSistemaSobre;
private JMenuItem itemSistemaSair;




@Override
public void actionPerformed(ActionEvent e) {
    
}

}

CadastrarAluno

package gui;

import dados.RepositorioAlunosArray;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import testaaluno.Aluno;
//import javax.swing.*;

public class CadastrarAluno extends JDialog implements ActionListener{

private JLabel jlnomealuno;
private JLabel jlcpfaluno;
private JLabel jlidadealuno;
private JLabel jlcursoaluno;

private JTextField txtcadastrarnomealuno;
private JTextField txtcadastrarcpfaluno;
private JTextField txtcadastraridadealuno;
private JTextField txtcadastrarcursoaluno;

private JButton btcadastraraluno;
private JButton btcancelarcadastraraluno;

public CadastrarAluno(JFrame TelaCadastro){
    super(TelaCadastro);
    jlnomealuno = new JLabel();
    jlcpfaluno = new JLabel();
    jlidadealuno = new JLabel();
    jlcursoaluno = new JLabel();
    
    txtcadastrarnomealuno = new JTextField();
    txtcadastrarcpfaluno = new JTextField();
    txtcadastraridadealuno = new JTextField();
    txtcadastrarcursoaluno = new JTextField();
    
    btcadastraraluno = new JButton("Cadastrar"); //Instancia o botão "Cadastrar" 
    btcancelarcadastraraluno = new JButton("Cancelar"); //Instancia o botão "Cancelar"
    
    //JDialog caixacadastraraluno = new JDialog(); //Instancia uma nova caixa de diálogo para 
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //Mostra Botão de fechar da Caixa?
    setBounds(775, 450, 350, 210); //Define o tamanho da caixa
    setTitle("Cadastrar Aluno"); //Define o título da caixa
    setModal(true); // Perguntar a professora; //Seria pra ter caixs com modos diferentes também?
    setResizable(true); //Redimenciona a caixa
    
    JPanel painelcadastraraluno = new JPanel(); //Instancia um novo painel para "Cadastro Aluno"
    painelcadastraraluno.setLayout(new GridLayout(5,2)); //Tipo do painel
    
    painelcadastraraluno.add(jlnomealuno); // Adiciona o rótulo "nomealuno" ao painel
    painelcadastraraluno.add(txtcadastrarnomealuno); // Adiciona um bloco de txt pra "nomealuno"
    painelcadastraraluno.add(jlcpfaluno); // Adiciona o rótulo "cpfaluno" ao painel
    painelcadastraraluno.add(txtcadastrarcpfaluno); // Adiciona um bloco de txt pra "cpfaluno"
    painelcadastraraluno.add(jlidadealuno); // Adiciona o rótulo "idadealuno" ao painel
    painelcadastraraluno.add(txtcadastraridadealuno); // Adiciona um bloco de txt pra "idadealuno"
    painelcadastraraluno.add(jlcursoaluno); // Adiciona o rótulo "cursoaluno" ao painel
    painelcadastraraluno.add(txtcadastrarcursoaluno); // Adiciona um bloco de txt pra "cursoaluno"
    
    
    painelcadastraraluno.add(btcadastraraluno); //Adiciona o botão "Cadastrar" ao painel
    painelcadastraraluno.add(btcancelarcadastraraluno); ////Adiciona o botão "Cancelar" ao painel
   
    
    add(painelcadastraraluno); // A caixa adiciona o painel
    
    btcadastraraluno.addActionListener(this);
    btcancelarcadastraraluno.addActionListener(this);
    
    setVisible(true);
    
    btcadastraraluno.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            
            if(e.getSource()== btcadastraraluno){
                String nomealunocadastrar = txtcadastrarnomealuno.getText();
            }
                Scanner input = new Scanner(System.in);
                RepositorioAlunosArray rep = new RepositorioAlunosArray();
                Aluno aluno = new Aluno("","",0,"");
                String nomealunocadastrar = input.nextLine();
                rep.inserir(aluno);
            JOptionPane.showMessageDialog(null, "Cadastro Feito!", "Cadastramento", JOptionPane.INFORMATION_MESSAGE);
            txtcadastrarnomealuno.setText(null);
            txtcadastrarcpfaluno.setText(null);
            txtcadastraridadealuno.setText(null);
            txtcadastrarcursoaluno.setText(null);
        } 
            
        });
    
            btcancelarcadastraraluno.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){

            setVisible(false);
        }
    });
            
            
   
}

@Override
public void actionPerformed(ActionEvent e) {
    
}

}

TelaAcao

package gui;

import dados.RepositorioAlunosArray;

public class TelaAcao {
public static void main(String[] args) {

    TelaPrincipal t1 = new TelaPrincipal();
    
    
}

}

Está acontecendo NullPointerException, pois você não instanciou o JMenuBar, nem os JMenu, nem os JMenuItem.

2 curtidas

Tentei assim, mas ainda n funcionou

package gui;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class TelaPrincipal extends JFrame implements ActionListener{

private JMenuBar barraMenu;

private JMenu menuAluno;
private JMenu menuProfessor;
private JMenu menuCurso;
private JMenu menuSistema;

private JMenuItem itemCadastrarAluno;
private JMenuItem itemProcurarAluno;
private JMenuItem itemRemoverAluno;

private JMenuItem itemCadastrarProfessor;
private JMenuItem itemProcurarProfessor;
private JMenuItem itemRemoverProfessor;

private JMenuItem itemCadastrarCurso;
private JMenuItem itemProcurarCurso;
private JMenuItem itemRemoverCurso;

private JMenuItem itemSistemaSobre;
private JMenuItem itemSistemaSair;

public TelaPrincipal(){//Construtor da minha Janela Principal
    
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setTitle("Sistema de Cadastro");
    setSize(550,450);//Define Tamando da Janela
    setLocation(700,300);//Centraliza à Janela
    
    menuAluno = new JMenu();
    menuProfessor = new JMenu();
    menuCurso = new JMenu();
    menuSistema = new JMenu();
    barraMenu = new JMenuBar();
    
        barraMenu.add(menuAluno);
//add itens no Menu Aluno
menuAluno.add(itemCadastrarAluno);
menuAluno.add(itemProcurarAluno);
menuAluno.add(itemRemoverAluno);

barraMenu.add(menuProfessor);
//add itens no Menu Curso
menuProfessor.add(itemCadastrarProfessor);
menuProfessor.add(itemProcurarProfessor);
menuProfessor.add(itemRemoverProfessor);

barraMenu.add(menuCurso);
menuCurso.add(itemCadastrarCurso);
menuCurso.add(itemProcurarCurso);
menuCurso.add(itemRemoverCurso);

barraMenu.add(menuSistema);
menuSistema.add(itemSistemaSobre);
menuSistema.add(itemSistemaSair);

getContentPane().add(barraMenu, BorderLayout.NORTH);// Exibir a barra no Painel
  
setVisible(true);//Tornar Painel visível
}







@Override
public void actionPerformed(ActionEvent e) {
    
}

}

Não é assim que se define o JMenuBar de um JFrame.

É assim:

objetoJFrame.setJMenuBar( objetoJMenuBar );