У вас нет выбора, вам нужно реализовать их все. Тем не менее, общий шаблон состоит в том, чтобы иметь базовый класс, который предоставляет реализации методов в интерфейсе без операций, и затем расширять этот базовый класс, когда вам нужно сделать что-то полезное:
public class BaseSVGEventListener implements BaseSVGEventListener {
public void keyPressed(int i) {}
public void keyReleased(int i) {}
public void pointerPressed(int i, int i1) {}
public void pointerReleased(int i, int i1) {}
public void hideNotify() {}
public void showNotify() {}
public void sizeChanged(int i, int i1) {}
}
А потом:
svgForm.setSVGEventListener(new BaseSVGEventListener (){
public void keyPressed(int i) {
System.out.println("Val"+i);
}
public void keyReleased(int i) {
System.out.println("Val"+i);
}
});
Есть много примеров этого в API Java AWT / Swing, например FocusListener
и FocusAdapter
:
Абстрактный класс адаптера для получения событий фокуса клавиатуры. Методы в этом классе пусты. Этот класс существует как удобство для создания объектов слушателя.
Расширьте этот класс, чтобы создать слушатель FocusEvent
и переопределить методы для интересующих событий. (Если вы реализуете интерфейс FocusListener
, вы должны определить все методы в нем. Этот абстрактный класс определяет нулевые методы для них всех, поэтому вам нужно только определять методы для событий, которые вас интересуют.)
Java API называет эти «адаптеры», хотя это довольно сомнительное использование этого термина. Предполагается, что «шаблон адаптера» используется для адаптации одного типа к другому, что не делают эти классы API.