java.lang.Object
org.controlsfx.control.action.Action
All Implemented Interfaces:
EventListener, javafx.event.EventHandler<javafx.event.ActionEvent>
Direct Known Subclasses:
ActionGroup, AnnotatedAction, ColumnFixAction, ListActionView.ListAction, ListSelectionView.ListSelectionAction, RowFixAction

public class Action extends Object implements javafx.event.EventHandler<javafx.event.ActionEvent>
A base class for Action API.

What is an Action?

An action in JavaFX can be used to separate functionality and state from a control. For example, if you have two or more controls that perform the same function (e.g. one in a Menu and another on a toolbar), consider using an Action object to implement the function. An Action object provides centralized handling of the state of action-event-firing components such as buttons, menu items, etc. The state that an action can handle includes text, graphic, long text (i.e. tooltip text), and disabled.
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.scene.input.KeyCombination>
    The accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control (most notably MenuItem).
    final javafx.beans.property.BooleanProperty
    This represents whether the action should be available to the end user, or whether it should appeared 'grayed out'.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    The graphic that should be shown to the user in relation to this action.
    final javafx.beans.property.StringProperty
    The longer form of the text to show to the user (e.g. on a Button, it is usually a tooltip that should be shown to the user if their mouse hovers over this action).
    final javafx.beans.property.BooleanProperty
    Represents action's selected state.
    final javafx.beans.property.StringProperty
    A string representation of the CSS style associated with this Action instance and passed to related UI controls.
    final javafx.beans.property.StringProperty
    The text to show to the user.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Action(String text)
    Constructors
    Action(String text, Consumer<javafx.event.ActionEvent> eventHandler)
    Creates a new AbstractAction instance with the given String set as the text value, as well as the Consumer<ActionEvent> set to be called when the action event is fired.
    Action(Consumer<javafx.event.ActionEvent> eventHandler)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<javafx.scene.input.KeyCombination>
    The accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control (most notably MenuItem).
    final javafx.beans.property.BooleanProperty
    This represents whether the action should be available to the end user, or whether it should appeared 'grayed out'.
    final javafx.scene.input.KeyCombination
     
    protected Consumer<javafx.event.ActionEvent>
     
    final javafx.scene.Node
     
    final String
     
    final javafx.collections.ObservableMap<Object,Object>
    Returns an observable map of properties on this Action for use primarily by application developers.
    final String
    Gets the value of the style property.
    javafx.collections.ObservableList<String>
    A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine.
    final String
     
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    The graphic that should be shown to the user in relation to this action.
    final void
    handle(javafx.event.ActionEvent event)
    Defers to the Consumer<ActionEvent> passed in to the Action constructor.
    final boolean
     
    final boolean
    Selected state of the Action.
    protected void
     
    final javafx.beans.property.StringProperty
    The longer form of the text to show to the user (e.g. on a Button, it is usually a tooltip that should be shown to the user if their mouse hovers over this action).
    final javafx.beans.property.BooleanProperty
    Represents action's selected state.
    final void
    setAccelerator(javafx.scene.input.KeyCombination value)
    Sets the accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control
    final void
    setDisabled(boolean value)
    Sets whether the action should be available to the end user, or whether it should appeared 'grayed out'.
    protected void
    setEventHandler(Consumer<javafx.event.ActionEvent> eventHandler)
     
    final void
    setGraphic(javafx.scene.Node value)
    Sets the graphic that should be shown to the user in relation to this action.
    final void
    Sets the longer form of the text to show to the user
    final void
    setSelected(boolean selected)
    Sets selected state of the Action
    final void
    Sets the value of the style property.
    final void
    setText(String value)
    Sets the text of the Action.
    final javafx.beans.property.StringProperty
    A string representation of the CSS style associated with this Action instance and passed to related UI controls.
    final javafx.beans.property.StringProperty
    The text to show to the user.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Property Details

    • style

      public final javafx.beans.property.StringProperty styleProperty
      A string representation of the CSS style associated with this Action instance and passed to related UI controls. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.

      Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.

      See Also:
    • selected

      public final javafx.beans.property.BooleanProperty selectedProperty
      Represents action's selected state. Usually bound to selected state of components such as Toggle Buttons, CheckBOxes etc
      See Also:
    • text

      public final javafx.beans.property.StringProperty textProperty
      The text to show to the user.
      See Also:
    • disabled

      public final javafx.beans.property.BooleanProperty disabledProperty
      This represents whether the action should be available to the end user, or whether it should appeared 'grayed out'.
      See Also:
    • longText

      public final javafx.beans.property.StringProperty longTextProperty
      The longer form of the text to show to the user (e.g. on a Button, it is usually a tooltip that should be shown to the user if their mouse hovers over this action).
      See Also:
    • graphic

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty
      The graphic that should be shown to the user in relation to this action.
      See Also:
    • accelerator

      public final javafx.beans.property.ObjectProperty<javafx.scene.input.KeyCombination> acceleratorProperty
      The accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control (most notably MenuItem).
      See Also:
  • Constructor Details

    • Action

      public Action(String text)
      Constructors
    • Action

      public Action(Consumer<javafx.event.ActionEvent> eventHandler)
    • Action

      public Action(String text, Consumer<javafx.event.ActionEvent> eventHandler)
      Creates a new AbstractAction instance with the given String set as the text value, as well as the Consumer<ActionEvent> set to be called when the action event is fired.
      Parameters:
      text - The string to display in the text property of controls such as Button.
      eventHandler - This will be called when the ActionEvent is fired.
  • Method Details

    • lock

      protected void lock()
    • setStyle

      public final void setStyle(String value)
      Sets the value of the style property.
      Property description:
      A string representation of the CSS style associated with this Action instance and passed to related UI controls. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.

      Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.

      Parameters:
      value - the value for the style property
      See Also:
    • getStyle

      public final String getStyle()
      Gets the value of the style property.
      Property description:
      A string representation of the CSS style associated with this Action instance and passed to related UI controls. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.

      Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.

      Returns:
      the value of the style property
      See Also:
    • styleProperty

      public final javafx.beans.property.StringProperty styleProperty()
      A string representation of the CSS style associated with this Action instance and passed to related UI controls. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.

      Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.

      Returns:
      the style property
      See Also:
    • getStyleClass

      public javafx.collections.ObservableList<String> getStyleClass()
      A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine. This variable is analogous to the "class" attribute on an HTML element and, as such, each element of the list is a style class to which this Node belongs.
      See Also:
    • selectedProperty

      public final javafx.beans.property.BooleanProperty selectedProperty()
      Represents action's selected state. Usually bound to selected state of components such as Toggle Buttons, CheckBOxes etc
      Returns:
      An observable BooleanProperty that represents the current selected state, and which can be observed for changes.
      See Also:
    • isSelected

      public final boolean isSelected()
      Selected state of the Action.
      Returns:
      The selected state of this action.
    • setSelected

      public final void setSelected(boolean selected)
      Sets selected state of the Action
      Parameters:
      selected -
    • textProperty

      public final javafx.beans.property.StringProperty textProperty()
      The text to show to the user.
      Returns:
      An observable StringProperty that represents the current text for this property, and which can be observed for changes.
      See Also:
    • getText

      public final String getText()
      Returns:
      the text of the Action.
    • setText

      public final void setText(String value)
      Sets the text of the Action.
      Parameters:
      value -
    • disabledProperty

      public final javafx.beans.property.BooleanProperty disabledProperty()
      This represents whether the action should be available to the end user, or whether it should appeared 'grayed out'.
      Returns:
      An observable BooleanProperty that represents the current disabled state for this property, and which can be observed for changes.
      See Also:
    • isDisabled

      public final boolean isDisabled()
      Returns:
      whether the action is available to the end user, or whether it should appeared 'grayed out'.
    • setDisabled

      public final void setDisabled(boolean value)
      Sets whether the action should be available to the end user, or whether it should appeared 'grayed out'.
      Parameters:
      value -
    • longTextProperty

      public final javafx.beans.property.StringProperty longTextProperty()
      The longer form of the text to show to the user (e.g. on a Button, it is usually a tooltip that should be shown to the user if their mouse hovers over this action).
      Returns:
      An observable StringProperty that represents the current long text for this property, and which can be observed for changes.
      See Also:
    • getLongText

      public final String getLongText()
      Returns:
      The longer form of the text to show to the user
      See Also:
    • setLongText

      public final void setLongText(String value)
      Sets the longer form of the text to show to the user
      Parameters:
      value -
      See Also:
    • graphicProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()
      The graphic that should be shown to the user in relation to this action.
      Returns:
      An observable ObjectProperty that represents the current graphic for this property, and which can be observed for changes.
      See Also:
    • getGraphic

      public final javafx.scene.Node getGraphic()
      Returns:
      The graphic that should be shown to the user in relation to this action.
    • setGraphic

      public final void setGraphic(javafx.scene.Node value)
      Sets the graphic that should be shown to the user in relation to this action.
      Parameters:
      value -
    • acceleratorProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.input.KeyCombination> acceleratorProperty()
      The accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control (most notably MenuItem).
      Returns:
      An observable ObjectProperty that represents the current accelerator for this property, and which can be observed for changes.
      See Also:
    • getAccelerator

      public final javafx.scene.input.KeyCombination getAccelerator()
      Returns:
      The accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control
    • setAccelerator

      public final void setAccelerator(javafx.scene.input.KeyCombination value)
      Sets the accelerator KeyCombination that should be used for this action, if it is used in an applicable UI control
      Parameters:
      value -
    • getProperties

      public final javafx.collections.ObservableMap<Object,Object> getProperties()
      Returns an observable map of properties on this Action for use primarily by application developers.
      Returns:
      An observable map of properties on this Action for use primarily by application developers
    • getEventHandler

      protected Consumer<javafx.event.ActionEvent> getEventHandler()
    • setEventHandler

      protected void setEventHandler(Consumer<javafx.event.ActionEvent> eventHandler)
    • handle

      public final void handle(javafx.event.ActionEvent event)
      Defers to the Consumer<ActionEvent> passed in to the Action constructor.
      Specified by:
      handle in interface javafx.event.EventHandler<javafx.event.ActionEvent>