- java.lang.Object
-
- org.controlsfx.control.action.Action
-
- org.controlsfx.control.action.ActionGroup
-
- All Implemented Interfaces:
EventListener
,EventHandler<ActionEvent>
public class ActionGroup extends Action
An ActionGroup (unsurprisingly) groups together zero or moreAction
instances, allowing for more complex controls likeToolBar
,MenuBar
andContextMenu
to be automatically generated from the collection of actions inside the ActionGroup. For your convenience, there are a number of utility methods that do precisely this in theActionUtils
class.Code Examples
Consider the following code example (note that DummyAction is a fake class that extends from (and implements)
Action
):// Firstly, create a list of Actions Collection<? extends Action> actions = Arrays.asList( new ActionGroup("Group 1", new DummyAction("Action 1.1"), new DummyAction("Action 2.1") ), new ActionGroup("Group 2", new DummyAction("Action 2.1"), new ActionGroup("Action 2.2", new DummyAction("Action 2.2.1"), new DummyAction("Action 2.2.2")), new DummyAction("Action 2.3") ), new ActionGroup("Group 3", new DummyAction("Action 3.1"), new DummyAction("Action 3.2") ) ); // Use the ActionUtils class to create UI controls from these actions, e.g: MenuBar menuBar = ActionUtils.createMenuBar(actions); ToolBar toolBar = ActionUtils.createToolBar(actions); Label context = new Label("Right-click to see the context menu"); context.setContextMenu(ActionUtils.createContextMenu(actions));
The end result of running the code above is shown in the screenshots below (hopefully it goes without saying that within the 'Group 1', 'Group 2' and 'Group 3' options are the 'Action 1.1', etc actions that have been specified in the code above):
MenuBar: ToolBar: ContextMenu: - See Also:
Action
,ActionUtils
-
-
Constructor Summary
Constructors Constructor Description ActionGroup(String text, Collection<Action> actions)
Creates an ActionGroup with the given text as the name of theAction
, and collection of Actions as members of this ActionGroup.ActionGroup(String text, Node icon, Collection<Action> actions)
Creates an ActionGroup with the given text as the name of theAction
, and collection of Actions as members of this ActionGroup.ActionGroup(String text, Node icon, Action... actions)
Creates an ActionGroup with the given text as the name of theAction
, and zero or more Actions as members of this ActionGroup.ActionGroup(String text, Action... actions)
Creates an ActionGroup with the given text as the name of theAction
, and zero or more Actions as members of this ActionGroup.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObservableList<Action>
getActions()
The list ofAction
instances that exist within this ActionGroup.String
toString()
-
Methods inherited from class org.controlsfx.control.action.Action
acceleratorProperty, disabledProperty, getAccelerator, getEventHandler, getGraphic, getLongText, getProperties, getStyle, getStyleClass, getText, graphicProperty, handle, isDisabled, isSelected, lock, longTextProperty, selectedProperty, setAccelerator, setDisabled, setEventHandler, setGraphic, setLongText, setSelected, setStyle, setText, styleProperty, textProperty
-
-
-
-
Constructor Detail
-
ActionGroup
public ActionGroup(String text, Collection<Action> actions)
Creates an ActionGroup with the given text as the name of theAction
, and collection of Actions as members of this ActionGroup.
-
ActionGroup
public ActionGroup(String text, Node icon, Collection<Action> actions)
Creates an ActionGroup with the given text as the name of theAction
, and collection of Actions as members of this ActionGroup. .
-
-