Criação de Menus de forma automática

0 respostas
S

Boa noite galera,

Atualmente possuo uma tela principal que está bastante poluída devido aos menus, queria saber se há alguma maneira de criar os menus de forma automática, por exemplo:

Eu teria um Enumerados com todos os menus da aplicação
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public enum Menus {

    MENU_ARQUIVO("Arquivo", 0) {

        @Override
        public ActionListener Acao() {
            ActionListener acao = new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("Cliquei no meu Arquivo");
                }
            };
                     return acao;
        }
    },    MENU_ARQUIVO_SAIR("Sair", 0) {

        @Override
        public ActionListener Acao() {
            ActionListener acao = new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("Cliquei no meu Arquivo > Sair");
                }
            };
                     return acao;
        }
    },
    MENU_EDITAR("Editar", 0) {

        @Override
        public ActionListener Acao() {
            ActionListener acao = new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("Cliquei no meu Editar");
                }
            };
                     return acao;
        }
    },MENU_EDITAR_PROPRIEDADES("Editar", 0) {

        @Override
        public ActionListener Acao() {
            ActionListener acao = new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("Cliquei no meu Editar > Propriedades");
                }
            };
                     return acao;
        }
    };
    final private String label;
    final private int codigo;

    private Menus(String label, int codigo) {
        this.label = label;
        this.codigo = codigo;
    }

    public String getLabel() {
        return label;
    }

    public int getCodigo() {
        return codigo;
    }

    public abstract ActionListener Acao();
}

Eu gostaria com base nesse enumarados poder criar automaticamente os menus e seus submenus com as listerners já estabelecidas, alguém consegue imaginar como eu faria isso??

to realmente quebrando a cabeça aqui e até agora não consegui pensar em algo de concreto...

:(

Criado 25 de novembro de 2013
Respostas 0
Participantes 1