Controle de Acesso com Swing

Olá galera! Estou a desenvolver uma pequena aplicação Swing e gostaria de implementar um controle de acesso que contemplasse os seguintes níveis
Menus
Menus Itens
Telas
Botões
Estou tendo dificuldades em modelar o meu banco de dados para que possa me atender de maneira genérica em qualquer sistema que eu utilizar
independente da quantidade de menus e níveis de menus itens telas e botões! Alguém que já tenha implementado esse tipo de controle pode me ajudar?

Cara,

Eu nunca modelei esse tipo de aplicação, o que eu já vi por aí é algo como cada componente que vc quer habilitar/desabilitar tem um parent (pai) e essa combinação component+parent é q vc aplicaria a verificação de acesso de acordo com usuario logado+nivel de acesso/perfil/grupo ,enfim seus critérios.

O que eu acho é que nesse caso quanto mais “profundo” e detalhado o nivel de controle - tipo controlar o acesso o botão A de um form A que é chamado através de um botão B do form B que por seu vez é chamado por um botão C do form C - tende a ficar muito complicada.

No meu ver se o controle de acesso fosse mais “plano” tipo item de menu+form seria mais simples.

Dá um pesquisada e se surgir alguma idéia posta aí pra discutirnos.

Andei pesquisando na Internet, porém não encontrei muito sobre o assunto, pelo que pude perceber existe até um framework para esse tipo de controle
para sistemas web! Eu preciso de um controle bem completo e o nível de botões que mencionei é a critério de ações ex: (salvar, alterar, excluir, consultar, gerar) se
alguém que já tenha feito algo do gênero ou coisa parecida puder me ajudar fico muito grato!