java próbuje mutować w powiadomieniu
Mam dwa huśtawki i moduł, na który oboje patrzą.
Każdy interfejs użytkownika dodaje słuchacza do zmiany atrybutu i aktualizuje własne pole tekstowe, gdy nastąpi zmiana.
basiccaly - oba powinny aktualizować moduł i być z niego aktualizowanymi. Czy można to zrobić w prosty sposób bez wiążących ram
Oto jak to robię (ale wciąż próbuję mutować w powiadomieniu) -
Na aktualizacji mojego textField
<code> myTextField.getDocument().addDocumentListener(new TFDocumentListener() { protected void userChangedTF() { Float value = myTextField.getValue(); if (value != null) { myObj.setMyAttribute(value); } } }); </code>
wciąż w ui - rejestracja zmiany
<code> myObj.addMyAttributeChangedListener(new ValueChangeListener<Float>() { @Override public void valueChanged(Float value) { if (!myTextField.isFocusOwner()) { myTextField.setValueIn(value); } } }); </code>
w module - gdy wystąpi setMyAttribute - wywołuje tę funkcję
<code>private void notifyIntervalChanged(float newValue) { for (ValueChangeListener valueChangeListener : intervalChangedListenersList) { valueChangeListener.valueChanged(newValue); } } </code>
i oświadczyłem
<code>public interface ValueChangeListener<T> { void valueChanged(T Value) } </code>