Mam zaimplementowaną podklasę DocumentFilter
, a po wpisaniu tekstu do JTextComponent
metoda filtra jest wywoływana, a nie (która nigdy nie jest wywoływana). Jakiś pomysł, dlaczego tak jest?DocumentFilter: Dlaczego metoda replace() jest wywoływana, a nie insertString()?
5
A
Odpowiedz
6
Metoda insertString(...)
jest wywoływana podczas bezpośredniej aktualizacji dokumentu za pomocą metody Document.insertString (...).
Metoda replace(...)
jest wywoływana, gdy dokument jest aktualizowany metodami widoku (tj. JTextField), gdy użytkownik wprowadza tekst lub użytkownik wywołuje Akcje (wycinanie, wklejanie) powiązane z polem tekstowym.
Domyślam się, że zawsze łatwiej jest go wymienić, a następnie pozwolić na zastąpienie sprawdzenia logicznego, aby zobaczyć, czy usunięcie/wstawienie jest wymagane.
Co masz na myśli "dlaczego to jest"? – Invictus