Class DragRecognitionSupport


  • public class DragRecognitionSupport
    extends java.lang.Object
    Drag gesture recognition support for classes that have a TransferHandler. The gesture for a drag in this class is a mouse press followed by movement by DragSource.getDragThreshold() pixels. An instance of this class is maintained per AppContext, and the public static methods call into the appropriate instance.

    This is a c&p of core (package private) needed for BasicXListUI. It differs from core in that references to sun packages have been replaced.

    • a static method of SunDragSourceContextPeer has been copied into SwingXUtilities and is used here
    • the shared instance of this class is maintained in the UIManager instead of per appContext.
    Version:
    1.2 11/17/05
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  DragRecognitionSupport.BeforeDrag
      This interface allows us to pass in a handler to mouseDragged, so that we can be notified immediately before a drag begins.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void clearState()  
      private static DragRecognitionSupport getDragRecognitionSupport()
      Returns the DragRecognitionSupport for the caller's AppContext.
      private int mapDragOperationFromModifiers​(java.awt.event.MouseEvent me, javax.swing.TransferHandler th)  
      static boolean mouseDragged​(java.awt.event.MouseEvent me, DragRecognitionSupport.BeforeDrag bd)
      Returns whether or not a drag gesture recognition is ongoing.
      private boolean mouseDraggedImpl​(java.awt.event.MouseEvent me, DragRecognitionSupport.BeforeDrag bd)
      Returns whether or not a drag gesture recognition is ongoing.
      static boolean mousePressed​(java.awt.event.MouseEvent me)
      Returns whether or not the event is potentially part of a drag sequence.
      private boolean mousePressedImpl​(java.awt.event.MouseEvent me)
      Returns whether or not the event is potentially part of a drag sequence.
      static java.awt.event.MouseEvent mouseReleased​(java.awt.event.MouseEvent me)
      If a dnd recognition has been going on, return the MouseEvent that started the recognition.
      private java.awt.event.MouseEvent mouseReleasedImpl​(java.awt.event.MouseEvent me)
      If a dnd recognition has been going on, return the MouseEvent that started the recognition.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • motionThreshold

        private int motionThreshold
      • dndArmedEvent

        private java.awt.event.MouseEvent dndArmedEvent
      • component

        private javax.swing.JComponent component
    • Constructor Detail

      • DragRecognitionSupport

        public DragRecognitionSupport()
    • Method Detail

      • getDragRecognitionSupport

        private static DragRecognitionSupport getDragRecognitionSupport()
        Returns the DragRecognitionSupport for the caller's AppContext.
      • mousePressed

        public static boolean mousePressed​(java.awt.event.MouseEvent me)
        Returns whether or not the event is potentially part of a drag sequence.
      • mouseReleased

        public static java.awt.event.MouseEvent mouseReleased​(java.awt.event.MouseEvent me)
        If a dnd recognition has been going on, return the MouseEvent that started the recognition. Otherwise, return null.
      • mouseDragged

        public static boolean mouseDragged​(java.awt.event.MouseEvent me,
                                           DragRecognitionSupport.BeforeDrag bd)
        Returns whether or not a drag gesture recognition is ongoing.
      • clearState

        private void clearState()
      • mapDragOperationFromModifiers

        private int mapDragOperationFromModifiers​(java.awt.event.MouseEvent me,
                                                  javax.swing.TransferHandler th)
      • mousePressedImpl

        private boolean mousePressedImpl​(java.awt.event.MouseEvent me)
        Returns whether or not the event is potentially part of a drag sequence.
      • mouseReleasedImpl

        private java.awt.event.MouseEvent mouseReleasedImpl​(java.awt.event.MouseEvent me)
        If a dnd recognition has been going on, return the MouseEvent that started the recognition. Otherwise, return null.
      • mouseDraggedImpl

        private boolean mouseDraggedImpl​(java.awt.event.MouseEvent me,
                                         DragRecognitionSupport.BeforeDrag bd)
        Returns whether or not a drag gesture recognition is ongoing.