Jak ostrzec użytkownika podczas edycji danych w interfejsie użytkownika, aby móc ostrzec ich o nadpisaniu, jeśli załadują się z innego źródła, lub zachęcić ich do zapisania? (JavaFX2.2)Jak ostrzegać użytkownika podczas edycji danych w interfejsie użytkownika, aby móc ostrzec ich o nadpisaniu lub zachęcić do zapisania? (Java)
Będę miał ponad 50 pól tekstowych na wielu kartach i 2 lub 3 tabele z przyciskami do dodawania i usuwania wierszy.
Zastanawiam się, czy mieć globalną flagę typu "isDirty" i czy można ustawić przyciski obsługi na Action na przyciskach, ale czy muszę ustawić obsługę języka onKeyTyped na każdym z pól tekstowych i obszarów tekstowych? (czy to spowolni sprawy?). Czy Java śledzi, czy jakiekolwiek pole było edytowane, a jeśli tak, czy mogę przechwycić z niego te informacje?
Prawdopodobnie łatwiej byłoby zachować wszystkie dane w osobnym modelu danych i porównać model danych z zawartością pól tekstowych i tabel jako detektor akcji ładowania i zapisywania. –
Posiadanie modelu danych tylko pogorszy sprawę IMHO - chociaż oczywiście mam ArrayList ("model danych") dla tabel. Są to parametry konfiguracyjne urządzenia. Czytam dane z urządzenia i umieszczam je na ekranie. Może być podłączonych więcej niż jedno urządzenie i możemy zapisywać je od jednego do drugiego - stąd istnieje niebezpieczeństwo nadpisania niezapisanych danych. – likejiujitsu
Jeśli nie chcesz porównywać dwóch modeli, inną opcją jest aktualizacja tagów dowolnego pola, które zostało zaktualizowane nową klasą "dirty". Następnie możesz wyszukać brudne pola i odpowiednio nimi manipulować. – Zylth