package com.revolsys.swing.listener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;
public interface MouseListeners extends MouseListener {
default void addMouseListener(final MouseListener listener) {
if (listener != null) {
final List<MouseListener> mouseListeners = getMouseListeners();
if (!mouseListeners.contains(listener)) {
mouseListeners.add(listener);
}
}
}
default void clearMouseListeners() {
final List<MouseListener> mouseListeners = getMouseListeners();
mouseListeners.clear();
}
List<MouseListener> getMouseListeners();
@Override
default void mouseClicked(final MouseEvent e) {
for (final MouseListener listener : getMouseListeners()) {
listener.mouseClicked(e);
}
}
@Override
default void mouseEntered(final MouseEvent e) {
for (final MouseListener listener : getMouseListeners()) {
listener.mouseEntered(e);
}
}
@Override
default void mouseExited(final MouseEvent e) {
for (final MouseListener listener : getMouseListeners()) {
listener.mouseExited(e);
}
}
@Override
default void mousePressed(final MouseEvent e) {
for (final MouseListener listener : getMouseListeners()) {
listener.mousePressed(e);
}
}
@Override
default void mouseReleased(final MouseEvent e) {
for (final MouseListener listener : getMouseListeners()) {
listener.mouseReleased(e);
}
}
default void removeMouseListener(final MouseListener listener) {
if (listener != null) {
final List<MouseListener> mouseListeners = getMouseListeners();
mouseListeners.add(listener);
}
}
}