@Override
  protected void processMouseEvent(MouseEvent e) {
    int id = e.getID();
    switch (id) {
      case MouseEvent.MOUSE_ENTERED -> onMouseEntered(e);
      case MouseEvent.MOUSE_EXITED -> onMouseExited();
      case MouseEvent.MOUSE_RELEASED -> onMouseReleased(e);
      case MouseEvent.MOUSE_CLICKED -> onMouseClicked(e);
    }
    if (!e.isConsumed()) {
      super.processMouseEvent(e);
    }
  }
@Override
  protected void processMouseEvent(MouseEvent e)