[RESOLVIDO] JCheckBox manter desmarcado se atender uma condição

3 respostas
K

Tenho um checkbox que nao posso usar setEnabled(false), preciso permitir que marquem com mouse ou teclado, tenho uma condição para que permita selecionar ou nao, como posso fazer para anular esta seleção se não atender a uma condição ?
Vlw pela ajuda

3 Respostas

staroski
objetoJCheckbox.setSelected(false);
K

Staroski, isso não funcionou… vou colocar um exemplo:

Aqui eu clico direto no objeto getlEfetivo()

dialogFuncoes.getlEfetivo().addItemListener((evt) -> {
   if (evt.getStateChange() == ItemEvent.SELECTED) {
       if (<condição verdadeira>) {
           dialogFuncoes.getnCodigo().requestFocus();
       } else {
           SgiOptionPane.msgBox("Não é permitido selecionar");
       }
   }
});

Aqui eu clico eu um outro objeto que seta o getlEfetivo()

dialogFuncoes.getOutroQualquer().addActionListener((evt) -> {
     dialogFuncoes.getlEfetivo().setSelected(true);

O q eu preciso é quando clicar neste OutroQualquer e a condição no lEfetivo for false ele nao selecione, se eu colocar um setSelected(false) dentro do ltemListener ele ira fazer o processo 2 vezes e apresentar a msg 2 vezes, eu achei q existisse uma forma de anular, abortar, cancelar algo q informe o ItemListener de dentro dele, que nao é para setar o objeto.

Nao sei se deu para entender !

K

Só para fechar este tópico, encontrei a resposta…

para anular uma acão eu uso o consume().

Não consigo alterar o titulo para [RESOLVIDO] :face_with_raised_eyebrow:
Vlw

Criado 3 de outubro de 2018
Ultima resposta 17 de mai. de 2019
Respostas 3
Participantes 2