All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vlsolutions.swing.docking.event.package.html Maven / Gradle / Ivy



Events Package of the VLDocking Framework.

This package contains event and listeners classes of the docking framework.

There are two types of events :

  • Drag and Drop events, used for docking processing.
  • State-change event, used for notifications.

Drag and Drop events

Those events are used by the docking framework to process Docking operations.

They shoud not be used by User Applications, only by API extenders.

This category contains :

  • DockEvent : the ancestor
  • DockDragEvent : an event transmitted to DockDropReceivers in order to know if Drag is allowed and which shape should be drawn.
  • DockDropEvent : when a DockDragEvent is accepted, and mouse button released, a DockDropEvent is transmitted to a DockDropReceiver. It is its responsibility to call the appropriate methods of DockingDesktop in order to change the docking position of the dragged component.

DockableState events

Those events are used for notification purpose, in order to allow the User Application to track configuration changes on the docking desktop.

Note : there are 3 states :

  • docked : component is visible on the docking desktop
  • hidden : iconified in an auto-hide border of the docking desktop
  • closed : not visible
A state change is triggered only when a Dockable changes of state.
Keep in mind that multiple changes of docking position do not trigger multiple state change events (only the initial docking triggers the event).

This category contains :

  • DockableStateWillChangeEvent : a vetoable state change is triggered before state change (for example before a docked component is closed).
    The User application can cancel the event to veto the change.
  • DockableStateChangeEvent : a non-vetoable state change is triggered after the state change (for example, after a hidden component is closed), in order to let the user application know about the state change.

The workflow of event delivering is the following

  Dockable in state S1 (docked/hidden/closed)

   "stateChange" requested
      event manager : triggers DockableStateWillChangeEvents
      if (event.isAccepted()){
        process state change
        ...
        Dockable in state S2 != S1 (docked/hidden/closed)
        event manager : triggers DockableStateChangeEvents

      } // else don't change state





© 2015 - 2025 Weber Informatics LLC | Privacy Policy