java.lang.Object
org.controlsfx.control.action.Action
org.controlsfx.control.action.ActionGroup
- All Implemented Interfaces:
EventListener
,javafx.event.EventHandler<javafx.event.ActionEvent>
An ActionGroup (unsurprisingly) groups together zero or more
Action
instances, allowing for more complex controls like ToolBar
,
MenuBar
and ContextMenu
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 the
ActionUtils
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:
-
Property Summary
-
Constructor Summary
ConstructorsConstructorDescriptionActionGroup
(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, javafx.scene.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, javafx.scene.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
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 Details
-
ActionGroup
-
ActionGroup
Creates an ActionGroup with the given text as the name of theAction
, and collection of Actions as members of this ActionGroup. -
ActionGroup
-
ActionGroup
Creates an ActionGroup with the given text as the name of theAction
, and collection of Actions as members of this ActionGroup. .
-
-
Method Details