Я искал время для поиска в Интернете, и я обнаружил, что в основном некоторые веб-страницы говорят, что нет больших различий. За исключением некоторых пунктов:
-
EventFilter
выполняется доEventHandler
-
EventFilter
не имеет отношения кevent.Consume();
Позвольте мне видеть, если бы я это понял: Допустим, у меня есть:Button b= new Button("Test"); b.addEventHandler(.....){...}; b.addEventFilter(......){...};
Скажем, они оба "связаны" с MouseEvent.MOUSE_CLICKED
; то код EventFilter
будет первым, который будет выполнен!?
Скажем, теперь у меня есть:
Button b= new Button("Test");
b.addEventHandler(.....);
b.addEventFilter(......){
//some code
event.consume();
}; // First filter
b.addEventFilter(......){
//some other code
event.consume();
}; // Second filter
В этом случае выполняется канва EventFilter
, но EventHandler
не будет. Правильно?
Есть ли еще какие-нибудь вещи? Есть ситуации, когда я должен предпочесть тот или иной? должен ли я иногда использовать их вместе для решения некоторых проблем?
Спасибо!