@Override public void mouseReleased( MouseEvent e ){ if( dockable.getDockParent() == FlapDockStation.this ){ final int MASK = InputEvent.BUTTON1_DOWN_MASK | InputEvent.BUTTON2_DOWN_MASK | InputEvent.BUTTON3_DOWN_MASK; DisablingStrategy strategy = disablingStrategy.getValue(); boolean enabled = strategy == null || (!strategy.isDisabled( dockable ) && !strategy.isDisabled( FlapDockStation.this )); if( enabled && e.getButton() == MouseEvent.BUTTON1 && (e.getModifiersEx() & MASK ) == 0 ){ int index = indexOf( dockable ); if( index < 0 ) return; DockableHandle handle = handles.dockables().get( index ); DockTitle title = handle.getTitle(); if( getFrontDockable() == dockable && title.isActive() ){ getController().setFocusedDockable( new DefaultFocusRequest( FlapDockStation.this, null, true )); setFrontDockable( null ); } else getController().setFocusedDockable( new DefaultFocusRequest( dockable, null, true )); } } } }