Menu Swing Dinâmico  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
santoro
JavaGuru
[Avatar]

Membro desde: 08/03/2005 15:46:00
Mensagens: 217
Localização: Novo Horizonte/SP
Offline

Pessoal, estou precisando montar um menu dinâmico que seja montado de acordo com o banco de dados, porém estou tendo problemas quando tenho vários níveis.

Alguém já montou algo do gênero? Que componente utilizou? O que aconselham?

E quanto a modelagem do banco, qual a maneira que acham melhor? Estava pensando em uma tabela do tipo

CODIGO_MENU
DESCRICAO
COMANDO
CODIGO_MENU_PAI

mas acho que vai ficar complicado para montar o menu desta maneira, gostaria de sugestões.

SCJA / SCJP / SCWCD / PDA / PDT
[Email] [WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Agora tu cria chaves de next/previous ou mesmo um inteiro para definir a ordem dentro de um nivel de menu.
[WWW] [MSN] [ICQ]
santoro
JavaGuru
[Avatar]

Membro desde: 08/03/2005 15:46:00
Mensagens: 217
Localização: Novo Horizonte/SP
Offline

Mas se eu defino desta maneira já não daria certo?

codigo - descricao - codigo_pai

1 - principal - null
2 - cadastro - 1 --> este fica dentro do menu principal
3 - pessoas - 2 --> este fica dentro do menu de cadastro
4 - consultas - 1 --> este fica dentro do menu principal
...

SCJA / SCJP / SCWCD / PDA / PDT
[Email] [WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Até dá...
Mas como tu vai controlar a ordem dos menus?
Simplesmente na ordem que retornar do teu select?

E se tu quiser mexer na ordem?
[WWW] [MSN] [ICQ]
santoro
JavaGuru
[Avatar]

Membro desde: 08/03/2005 15:46:00
Mensagens: 217
Localização: Novo Horizonte/SP
Offline

Perfeito, então eu precisaria de uma tabela contendo

CODIGO
DESCRICAO
CODIGO_PAI
ORDEM

mas existe algo que facilite a montagem deste menu, senão vou precisar fazer vários loops para gerar corretamente os nós no Menu, qual componente você aconselha?

SCJA / SCJP / SCWCD / PDA / PDT
[Email] [WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Exato.
Ou ordem ou chaves para next/previous.

Tu resolve isso fazendo consultas SQL (ou hql se hibernate), pegando esse retorno e transformando em
JMenu e JMenuItem
Não tem muito como fugir de loops
[WWW] [MSN] [ICQ]
santoro
JavaGuru
[Avatar]

Membro desde: 08/03/2005 15:46:00
Mensagens: 217
Localização: Novo Horizonte/SP
Offline

Resgatando este tópico estou com o seguinte problema, quando crio um subitem não consigo retornar ao item, já refiz várias vezes o meu código e não consegui uma solução, por exemplo

deveria ser assim

CADASTRO
- CADASTRO 1
---CADASTRO 1.1
---CADASTRO 1.2
-CADASTRO 2
- CADASTRO 3

e acaba ficando assim

CADASTRO
- CADASTRO 1
---CADASTRO 1.1
---CADASTRO 1.2
---CADASTRO 2
--- CADASTRO 3

não consigo de maneira alguma retornar a instância pai, como eu poderia resolver este problema? Alguém já fez esta implementação?

SCJA / SCJP / SCWCD / PDA / PDT
[Email] [WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Sim, eu fiz. É um método recursivo que vai criando os menus/itens.

Coloca ai pedaços do teu código, vamos ver
[WWW] [MSN] [ICQ]
santoro
JavaGuru
[Avatar]

Membro desde: 08/03/2005 15:46:00
Mensagens: 217
Localização: Novo Horizonte/SP
Offline

por não ter conseguido acabei apagando a última versão, mas era algo mais ou menos assim :




teria como você disponibilizar o que você fez, ou parte do código para eu tentar entender onde estou errando?

SCJA / SCJP / SCWCD / PDA / PDT
[Email] [WWW]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Cara, não tenho mais acesso a esse código. E não olhei o teu algoritmo em detalhes.

Mas ali na linha



Tu retorna uma lista de TMenu certo?

Esse TMenu ao invés de referenciar o próprio pai, referencia ao id do pai (getIdMenuPai).
De onde vem essa lista? do banco? tu esta usando hibernate?
Se sim essa estrutura pai-filho já poderia estar pronta através do hibernate!
[WWW] [MSN] [ICQ]
santoro
JavaGuru
[Avatar]

Membro desde: 08/03/2005 15:46:00
Mensagens: 217
Localização: Novo Horizonte/SP
Offline

Não, não estou utilizando hibernate por alguns motivos internos, e os dados são retornados do banco de dados.

SCJA / SCJP / SCWCD / PDA / PDT
[Email] [WWW]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team