JFrame, JInternaFrame e JMenu

5 respostas Resolvido
java
P

Olá!

Tenho uma aplicação que trabalha com jmenu, onde o mesmo tem 4 opções, sendo duas visíveis que tem como login e outra como localizar.

A ideia é que quando eu localizar algo as outras 2 opções (jmenu) apareçam na jMenuBar.

O código está estruturado de modo que o menuBar já tenha o jmenu3 e 4 e os mesmo estão como .setVisible(false).

A opção 2 trata-se de uma jinternalframe que fará a pesquisa, se encontrada a opção 3 e 4 tem que aparecer

tentei a opção abaixo no evento pesquisar mas não funcionou:

Form1 f1= new Form1();
f1.jMenu3.setvisible(true);

Tentei como:

Form1 f1= new Form1();

f1.jMenu3().setvisible(true);

E também não vai, oque preciso é de uma ideia de como resolver isso.

5 Respostas

H

Essa forma eu não sei te falar, mas a que resolve para mim é o remove e o add. Sempre limpo os menus e conforme as permissões eu vou adicionando novamente os componentes no meu menu.

P
Solucao aceita

Consegui resolver colocando jmenu como static e alterando através de outro frame… deu certo!

staroski

Está errado, os componentes visuais de uma tela não devem ser static.

Porque você cria um novo objeto do Form1 no evento?

Posta o código completo de suas classes que fica fácil te orientar.

P

Exato, mas funcionou perfeitamente…

Precisava que meu jMenu 3 aparece com base em uma consulta em outro frame… Ambos são arquivos forms separados… Sem o static nao era possível, o set visible de nada adiantava, nem enable nem nada, quando mudei para static resolveu imediatamente

staroski

Você acha que está perfeito.
Sabe pra que serve a palavra static?

Porque você estava chamado o setVisible no objeto errado, afinal toda vez você cria um novo objeto Form1 ao invés de usar o existente.

Se você tivesse postado o código completo, ficaria fácil te mostrar o erro.

Criado 10 de novembro de 2020
Ultima resposta 13 de nov. de 2020
Respostas 5
Participantes 3