Possibilidades com JMenuBar do Netbeans[RESOLVIDO]

Olá Pessoal !!!

Estou precisando saber se exite alguma possibilidade de não colocar o JMenuBar na parte superior do Frame.

Estou criando o menu principal do meu programa e queria colocar o logo da empresa na parte superior do Frame e logo em baixo colocar o JMenuBar.

Tem como fazer isso? Existe alguma maneira?

Obrigado!

Sei fazer com MigLayout, disponível em http://www.miglayout.com

Se você gosta de trabalhar com outro gerenciador de layout, tente com outro.

//ANTES DE ADICIONAR TODOS OS JMENUS E JMENUITENS
seuJMenuBar.setLayout(new MigLayout());

ImageIcon icone = new ImageIcon(Toolkit.getDefaultToolkit().createImage("caminho_do_seu_icone.png")); //Seu ícone
JLabel lab = new JLabel(icone);
seuJMenuBar.add(lab, "wrap"); //wrap é a quebra de linha.

//A PARTIR DAQUI ADICIONE OS JMENUS NORMALMENTE

silasyudi, não entendi muito bem, preciso fazer algum download?

Quando faço isso da erro, diz que não existe a classe MigLayout()

Tem que fazer o download do .jar do MigLayout no site dele, www.miglayout.com, e acrescentar este .jar ao projeto.

silasyudi, não estou encontrando o .jar no site, poderia me explicar o caminho correto para download.

Se não for demais…

Vlw, Abraço

http://www.migcalendar.com/miglayout/versions/4.0/miglayout-4.0.jar

É a versão mais recente.

silasyudi, consegui fazer o download do .jar e colocar no meu projeto, consegui também colocar o logo da empresa (pra quem estou desenvolvendo) na parte superior da janela (em cima da barra de menu).

Só que não ficou como esperava.

Exemplo:

Na barra de menu eu tenho, Arquivo | Cadastro | Consulta, todos com sub-itens. Ao adicionar o logo da empresa (que por sinal ocupa toda a parte horizontal da tela por alguns centímetros na vertical) o menu “Arquivo” se estende pelo tamanho da imagem adicionada e os demais menus (Cadastro e Consulta) começam após o termino horizontal da imagem.

Gostaria que a imagem ocupasse toda a parte horizontal e os menus ficassem um seguido do outro (como se não tivesse adicionado a imagem).

As duas formas abaixo podem dar certo:

Na inserção do primeiro JMenuItem coloque como segundo parâmetro a string abaixo. No lugar de 3, coloque o número total de JMenuItens que serão inseridas no JMenuBar. Esse parâmetro é só na inserção do primeiro JMenuItem, o restante se insere normalmente.

seuJMenuBar.add(arquivo, "split 3");

O parâmetro “split n” significa que a célula atual será dividida em n partes.

A segunda forma, é na inserção do logo é acrescentar a palavra “span”:

//ESTAVA ASSIM:
seuJMenuBar.add(labelComOLogo, "wrap");

//FICA ASSIM:
seuJMenuBar.add(labelComOLogo, "wrap, span");

O parâmetro “wrap” significa quebra de linha e “span” significa que a célula atual ocupará todas as células vazias à sua frente e abaixo.

Prefiro a segunda forma, pois na primeira todas as vezes que for aumentar o número de menus deve lembrar de alterar o número de splits.

OBS: MigLayout é um gerenciador de layout, ou seja, você pode usá-lo não somente aqui, mas em JPanels, JFrames, JDialogs, etc…

silasyudi, consegui deixar o logo do jeito que eu quero, ficou PERFEITO!!!

Cara, muito obrigado pela sua ajuda…

Que Deus te abençoe muito meu amigo!

Um abraço