addPropertyChangeListener nie działa dla jTextFielda

0
        JTextField cityTextField = new JTextField();
        cityTextField.addPropertyChangeListener("value", new PropertyChangeListener() {
            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                System.err.println("abc");
            }
        });

Dlaczego to nie działa dla JTextFielda
Obok mam pole z datą typu JFormattedTextField i metoda propertyChange się wywołuje na stratę focusa po wprowadzeniu tekstu do pola

Ewentualnie w jaki sposób powienienem aktualizować model danymi z formatki ?
Czy dla każdego pola mam wołać

model.setCity(cityTextField.getText())
....
// i tak przez wszystkie pola ?
0

Jeśli chcesz reagować na stratę fokusa, to podepnij FocusListener do pola tekstowego.
A przy okazji, nie wstawiaj spacji prze znakiem zapytania.

0

Właściwie to chodzi mi o zaktualizowanie modelu przed puszczeniem do wydruku.
Nie wiem jak zbindować widok z modelem. Mam na formatce około 30 pól (JTextField oraz JFormattedTextField) i potrzebuję zaktualizować model danymi wprowadzonymi przez użytkownika.
Czy dobrą praktyką jest dopinanie do każdego z nich FocusListener-a?

0

Czy jest potrzebna aktualizacja modelu na bieżąco? Może wystarczy aktualizacja jednorazowa, przed wydrukiem. Wtedy żadne listenery nie są potrzebne.

0
bogdans napisał(a):

Czy jest potrzebna aktualizacja modelu na bieżąco? Może wystarczy aktualizacja jednorazowa, przed wydrukiem. Wtedy żadne listenery nie są potrzebne.

Nie ma potrzeby na bieżąco, Wystarczy jednorazowa, ale jak go (model) zaktualizować? setterami?
np.:

model.setCity(cityTextField.getText())

1 użytkowników online, w tym zalogowanych: 0, gości: 1