Sair do Menu da Tla Principal

Olá a todos
Não estou conseguindo fazer com que o sair do menu da tela principal fecha o aplicativo, alguém pode me ajudar?

import java.awt.;
import javax.swing.JFrame;
import java.awt.event.
;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

public class Principal extends JFrame {
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
Dimension tam = new Dimension(800,600);//comprimento e altura

public Principal(){
    setTitle("Tela Principal"); // Titulo da Janela
    setSize(tam);  //Devine o Tamanho da Janela
    setLocation((dim.width - tam.width)/2, (dim.height - tam.height)/2); //Divide a tela do usuário
    setVisible(true);// Apresenta a Janela da tela do usuário
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    JMenuBar menu_principal;
    menu_principal = new JMenuBar();
    setJMenuBar(menu_principal);

    //Menu Principal  cadastro_cliente cadastro_produto
    JMenu cadastro_cliente, cadastro_produto, sair;

    cadastro_cliente = new JMenu("Cadastro Cliente");
    cadastro_produto = new JMenu("Cadastro Produtos");
    sair             = new JMenu("Sair");

    menu_principal.add(cadastro_cliente);
    menu_principal.add(cadastro_produto);
    menu_principal.add(sair);

    //Intens do Menu Principal
    JMenuItem  ConsultarDados, IncluirDados, AlterarDados, ExcluirDados;

    ConsultarDados = new JMenuItem("Consultar dados");
    IncluirDados   = new JMenuItem("Incluir dados");
    AlterarDados   = new JMenuItem("Alterar dados");
    ExcluirDados   = new JMenuItem("Excluir dados");
    cadastro_cliente.add(ConsultarDados);
    cadastro_cliente.add(IncluirDados);
    cadastro_cliente.add(AlterarDados);
    cadastro_cliente.add(ExcluirDados);

    ConsultarDados = new JMenuItem("Consultar dados");
    IncluirDados   = new JMenuItem("Incluir dados");
    AlterarDados   = new JMenuItem("Alterar dados");
    ExcluirDados   = new JMenuItem("Excluir dados");
    cadastro_produto.add(ConsultarDados);
    cadastro_produto.add(IncluirDados);
    cadastro_produto.add(AlterarDados);
    cadastro_produto.add(ExcluirDados);

[color=red] sair.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent sair ) {
dispose();
}
});[/color]
}
public static void main(String args[]) {
new Principal();

 }

}

Olá amigo

    protected void quit() {
        int i = JOptionPane.showOptionDialog(null, "Tem certeza que deseja sair?", "Sair do Sistema", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, JOptionPane.NO_OPTION);
        if (i == JOptionPane.YES_OPTION) {
            System.exit(0);
        }
    }

Silvio Guedes