2016-10-17 5 views
0

チェックボックスをオンにした場合に必要なフィールドとして切り替えたいテキストフィールドがあります。私はValueChangeEventListenerをniceにすることはできません。チェックボックスをオンにしたときにTextFieldを必要/不要に切り替える

これは私がこれまで持っているものです。

private TextField myTextField = new TextField("Name"); 
myTextField.setRequired(true); 

private CheckBox myCheckBox; 
myCheckBox = createCheckBox(); 


private CheckBox createCheckbox() { 
    CheckBox checkBox = new CheckBox("My checkbox"); 
    checkBox.setImmediate(true); 
    checkBox.addValueChangeListener(new ValueChangeListener() { 
     @Override 
     public void valueChange(ValueChangeEvent event) { 
      toggleRequired(); 
     } 
    }); 
    return checkBox; 
} 


private void toggleRequired() { 
    if (myCheckBox.getValue() != true) { 
     myTextField.setRequired(false); 
    } else { 
     myTextField.setRequired(true) 
    } 
} 

valueChangeListenerのtrueに戻すtrueからfalseに行く途中、あまりにも多くの時間を解雇ます。私がここで間違っていることを確かめず、本当に助けに感謝します。

は、[OK]を

+0

を真:それは私が変更しなければならなかったすべては、私が代わりにいくつかの次のプロパティクラスを参照して

checkBox.addValueChangeListener(new CheckBox.ValueChangeListener() {}); 

た非常に簡単な解決策でした); 'myCheckBox.setRequired(true)'の代わりに '?おそらく、単純にするために 'myTextField.setRequired(myCheckBox.getValue());'と書くだけです。 – Morfic

+0

それを指摘してくれてありがとう、その誤字、私は質問を編集します! – Tkingovr

答えて

0

私はそれを考え出したありがとうございました!ないあなたの `else`ブランチが` myTextField.setRequiredを読んでください(

properties.ValueChangeListener(); 
関連する問題