Niedawno napotkałem błąd w java, gdzie JList będzie wywoływał metodę valueChanged() dwa razy podczas zmiany wartości za pomocą myszy i tylko raz przy zmianie wartości za pomocą klawiatury. Właśnie znalazłem a bug w odniesieniu do tego na stronie internetowej Oracle (podobno błąd jest więcej niż dwanaście lat), i zastanawiam się, czy ktoś może mi wyjaśnić, dlaczego Oracle zdecydował, że to nie jest wada (nie wspomnieć, że getValueIsAdjusting() zwraca wartość false, gdy używana jest klawiatura).JList odpala wartośćChanged dwa razy, gdy wartość jest zmieniana za pomocą myszy
Dla każdego, kto ma ten problem, stwierdziłem, że po prostu sprawdzam, kiedy getValueIsAdjusting()
jest fałszywe, a następnie reszta mojej metody obejmie problem.
zobaczyć również http://stackoverflow.com/a/12193333/1076463 – Robin
Co się tutaj pytanie? –
to nie jest błąd, to funkcja ;-) Poważnie, jest dobrze znana (kaszle .. zapomnij o tym od czasu do czasu), że większość czasu tylko powiadomienia z! GetIsValueAdjusting są istotne dla kodu aplikacji. Poza tym, na co dokładnie narzekasz? – kleopatra