@Override public void mouseExited( MouseEvent e ) { setMouseInside( false ); } @Override
@Override public void mouseEntered( MouseEvent e ) { setMouseInside( true ); } @Override
@Override protected void setMouseInside( boolean mouseInside ) { super.setMouseInside( mouseInside ); if( !mouseInside ) setMouseOverDropDown( false ); }
@Override public void mouseDragged( MouseEvent e ) { boolean inside = owner.contains( e.getX(), e.getY() ); if( inside != mouseInside ) setMouseInside( inside ); } @Override
@Override public void mouseReleased( MouseEvent e ) { if( mousePressed && e.getButton() == MouseEvent.BUTTON1 ){ boolean inside = owner.contains( e.getX(), e.getY() ); if( inside && isEnabled() ){ trigger(); } setMousePressed( false ); if( mouseInside != inside ) setMouseInside( inside ); } } }