1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Menu com JMenuBar

Olá Boa noite, estou tentando criar um JMenuBar e adiciona-lo a uma JFrame, porém toda vez que executo o código:

package br.unipe.mlp.ui;

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class ProjetoFinalMLP {

    private JFrame tela;
    private JPanel painelTexto;
    private JPanel painelOpcoes;
    private JMenuBar painelMenu;
    private JTextArea texto;
    private JButton btnSalvar;
    private JButton btnNegrito;
    private JButton btnItalico;
    private JButton btnSubli;
    private JMenu menuArquivo;
    private JMenu menuJavadoc;
    private JMenu menuSair;
    private JMenuItem arquivoNovo;
    private JMenuItem arquivoEditar;
    private JMenuItem arquivoSalvar;

    public static void main(String[] args) {
        ProjetoFinalMLP pf = new ProjetoFinalMLP();
        pf.iniciar();
    }

    private void iniciar() {
        mostraTelaMenu();
        mostraTela("MamuteText");
    }

    private void mostraTela(String nomeSistema) {
        tela = new JFrame(nomeSistema);
        tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tela.setSize(600, 500);
        tela.setVisible(true);
    }

    private void mostraTelaMenu() {
        painelMenu = new JMenuBar();
        menuArquivo = new JMenu("Arquivo");
        menuJavadoc = new JMenu("JavaDoc");
        menuSair = new JMenu("Sair");
        arquivoNovo = new JMenuItem("Novo");
        arquivoEditar = new JMenuItem("Editar");
        arquivoSalvar = new JMenuItem("Salvar");
        menuArquivo.add(arquivoNovo);
        menuArquivo.add(arquivoEditar);
        menuArquivo.add(arquivoSalvar);
        painelMenu.add(menuArquivo);
        painelMenu.add(menuJavadoc);
        painelMenu.add(menuSair);
        tela.add(painelMenu, BorderLayout.NORTH);
    }


}

Ele gera o erro:

br.unipe.mlp.ui.ProjetoFinalMLP at localhost:63664 Thread [main] (Suspended (exception NullPointerException)) ProjetoFinalMLP.mostraTelaMenu() line: 62 ProjetoFinalMLP.iniciar() line: 37 ProjetoFinalMLP.main(String[]) line: 33

  • O erro está na última linha do método mostraTelaMenu, ele adiciona um objeto a tela q não foi instanciada. Tenta inverter a ordem dos métodos no método iniciar

    rpassos81   17 de nov de 2015
  • Deu certo, muito obrigado.

    Raniere de Lima   17 de nov de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java javafx ou faça a sua própria pergunta.