Oi pessoal.
Estou desenvolvendo uma janela onde preciso que se o valor escrito em um JTextField for de 1 a 5, ele habilite uma CheckBox, caso contrário a checkbox fica desabilitada. Tentei usar um focus listener, que funcionou parcialmente, já que o status da checkbox só é atualizado quando o campo de texto ganha ou perde o foco. Eu preciso que assim que o usuário modificar o valor, ele atualize o status da checkbox, habilitando ou desabilitando-a. Tentei um InputMethodListener mas ele nunca disparou um evento. O que estou fazendo de errado!? :shock:
Abraço!
public class NewSeqWindow extends JFrame implements WindowListener, ItemListener, InputMethodListener {
private JCheckBox chkEnableSchedule;
private JTextField seqNumber;
private JPanel pnlSchedule;
[...]
seqNumber.addInputMethodListener(this);
[...]
@Override
public void inputMethodTextChanged(InputMethodEvent event) {
System.out.println("DEBUG: listener");
if (event.getSource() == seqNumber) {
System.out.println("DEBUG: SEQNUMBER");
int value = Integer.parseInt(seqNumber.getText());
System.out.println(value);
if ( (value>0) && (value<=5) ) {
chkEnableSchedule.setEnabled(true);
}
else {
chkEnableSchedule.setEnabled(false);
}
}
}
}