Important Concepts

The following are the core classes and concepts defined within the library. The remainder of this guide assumes you have a basic understanding of them.

ActionCommands

ActionCommands are the GUI Commands equivalent to Swing's Action class. They define a specific behaviour that can be to create buttons and menu items within your application. ActionCommands differ from actions in that they act as factories for buttons and menus. This approach gives GUI Commands much greater control over buttons and menus it creates.

CommandGroups

CommandGroups are used to build menus, toolbars and popups. You typically define their members in your configuration files, then let the group discover and insert them automatically. Like ActionCommands, groups let you create buttons and menus.

CommandContainers

CommandContainers are the mechanism by which CommandGroups find their members. Containers also act as a namespace allowing multiple command instances with the same id to exist in the same application. This is useful for multi-frame applications or applications that use multiple instances of a command enabled component. Containers can be put in hierarchy and are also used to access global properties such as the current Swing Worker GlassPaneStrategy or current DelegateMediator

Binding

Binding is the mechanism by which commands and groups are associated with a CommandContainer. The library supports direct binding and component based binding. Direct binding binds a command to a specified container while component binding uses the Swing hierarchy to locate a container. The exact method you use will depend on your development style and architectural approach.