Não permitir clique no JMenu

7 respostas
khaue_viana_

Pessoal tenho um JMenu, no qual coloco no evento MousePressed ou MouseClicked. Em certo momento eu desabilito ele:

jMenu.setEnabled(false);

Mas eu clico no JMenu, e o evento continua ativo, será que existe alguma forma de eu desabilitar o evento do JMenu, e não permtir que o evento execute ao clicar no JMenu?

Obrigado!

7 Respostas

Eric_Yuzo

Use ActionListener ao invés de MouseListener.

khaue_viana_

Mas ao utilizar ActionListener tem como desabilitar o JMenu?

Eric_Yuzo

Sim. Exatamente do mesmo jeito:

jMenu.setEnabled(false);

O método setEnabled não sofre influência dos listeners adicionados.

khaue_viana_

tem como me dar um exemplo, pois eu ja utilizei ActionListener somente com JButton, mas JMenu nunca.

Eric_Yuzo

Não tem diferença. É do mesmo jeito que é feito para adicionar no botão.

Só uma coisa, você está tentando adicionar um ActionListener em um JMenu? Assim acho que não vai funcionar.

A função principal do JMenu é guardar um conjunto de JMenuItem. O ideal é que as ações fiquem nos JMenuItem.

Eric_Yuzo

Se ainda assim precisar verificar se está habilitado ou não, faça um if para verificar o estado do menu:

if (jMenu.isEnabled()) { . . .
khaue_viana_

é do IsEnabled que preciso :smiley:

Vlw

Criado 29 de janeiro de 2011
Ultima resposta 29 de jan. de 2011
Respostas 7
Participantes 2