Evento de JMenuItem não funciona

Alquém poderia me ajudar
olha o que fiz: porque não funciona??

---------------------------MenuPrincipal--------------------
public class MenuPrincipal extends javax.swing.JFrame
public ActionListener listener2;
public MenuPrincipal()
{
M1 = new JMenu(“Distribuidores”);
Barra = new JMenuBar();
M11 = new JMenuItem(“Novo”);

    setJMenuBar(Barra);
    Barra.add(M1);
    
    M1.add(M11);
    
    
    listener2 = new ControleDistribuidor(); 
    M11.addActionListener(listener2); 
    M11.setActionCommand("nova");

--------------ControleDistribuidor------------------------

public class ControleDistribuidor implements ActionListener
{

public void actionPerformed(ActionEvent evt)
{
          
    if(evt.getActionCommand().equals("nova"))
    {
        System.out.println("teste nova"); 
    }
}

acho que você tem que adicionar m1 à barra…

se vc por o erro fica mais facil!! :slight_smile:

Não é isso, porque ele adiciona M1 a barra! O erro pode ser que ele colocar chaves {} não hora de abrir a classe!

Falo

faltou fechar a classe!!!
nem tinha visto ele adicionar a barra

Se nao compila eh pq tu nao fechou a classe…
Nao compila ou na hora de roda nao funciona?

Olá VitorKgb…Tudo jóia…

Estou enviando esta mensagem não para corrigir seu código, mas sim para mostrar alguns conceitos de Java… Deixe para começar nomes de classes com letras maiúculas… public class Exemplo1…métodos com letras minúsculas…criarTela(); e por fim…nome de objetos…nome simples com letras minúsculas…e se for um nome composto…o primeiro nome minúsculo e o segundo com a primeira maiúscula…ex…JButton bOk; ou JButton bCancelar… Assim seu código fica mais fácil de ser compreendido…não se esquecendo tb de identá-lo…

Abraços

Guga2018 :cool:

[quote]Olá VitorKgb…Tudo jóia…

Estou enviando esta mensagem não para corrigir seu código, mas sim para mostrar alguns conceitos de Java… Deixe para começar nomes de classes com letras maiúculas… public class Exemplo1…métodos com letras minúsculas…criarTela(); e por fim…nome de objetos…nome simples com letras minúsculas…e se for um nome composto…o primeiro nome minúsculo e o segundo com a primeira maiúscula…ex…JButton bOk; ou JButton bCancelar… Assim seu código fica mais fácil de ser compreendido…não se esquecendo tb de identá-lo… [/quote]

Valeu pela ideia, mas disso eu sei, é que to testando varias paradas ao mesmo tempo, nem to ligando pra regra agora, mas eu sei todas…

quanto a chaves, tá tudo certinho, é que coloco só parte do código aqui, o resto é repeteco, tá compilando direitinho e tal, só o evento não tá acontecendo como coloquei em outra msg acontece esse erro o de vermelho não exibe

public class ControleDistribuidor implements ActionListener
{
MenuPrincipal menuPrinc;
Distribuidores Distr2;
public String texto = new String(“nada”);

public void actionPerformed(ActionEvent evt)
{    
    
    if(evt.getActionCommand().equals("teste"))
    {
      
        Distr2 = new Distribuidores();
        System.out.println("teste nova"); 
        texto = Distr2.getCampoNome().getText();
       [color="red"]System.out.println("Campo nome é: " + texto); [/color]
        
    }
} 

------------------------------Distribuidores---------------------------

public class Distribuidores extends javax.swing.JPanel
{
public ActionListener listener;

CampoNome = new JTextField();
        this.add(CampoNome, new GridBagConstraints(1, 2, 1, 1, 0.0,
                0.0, GridBagConstraints.LINE_START,
                GridBagConstraints.NONE, new Insets(0, 5, 0, 0), 0, 0));
        CampoNome.setPreferredSize(new java.awt.Dimension(200, 20));

BConfirmaDis = new JButton();
this.add(BConfirmaDis, new GridBagConstraints(0, 12, 1, 1, 0.0,
0.0, GridBagConstraints.LINE_END,
GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
BConfirmaDis.setText(“OK”);
BConfirmaDis.setFont(new java.awt.Font(“Arial Black”, 1, 16));

        BConfirmaDis.addActionListener(listener);
        BConfirmaDis.setActionCommand("teste");

public JTextField getCampoNome()
{
return CampoNome;
}