Module javafx.graphics
Package javafx.css

## Class PseudoClass

- java.lang.Object
- - javafx.css.PseudoClass

-     public abstract class PseudoClass
      extends Object

  PseudoClass represents one unique pseudo-class state. Introducing a pseudo-class into a JavaFX class only requires that the method `Node.pseudoClassStateChanged(javafx.css.PseudoClass, boolean)` be called when the pseudo-class state changes. Typically, the `pseudoClassStateChanged` method is called from the `protected void invalidated()` method of one of the property base classes in the `javafx.beans.property` package.

  Note that if a node has a default pseudo-class state, a horizontal orientation for example, `pseudoClassStateChanged` should be called from the constructor to set the initial state.

  The following example would allow "xyzzy" to be used as a pseudo-class in a CSS selector.

        public boolean isMagic() {
             return magic.get();
         }

         public BooleanProperty magicProperty() {
             return magic;
         }

         public BooleanProperty magic =
             new BooleanPropertyBase(false) {

             @Override protected void invalidated() {
                 pseudoClassStateChanged(MAGIC_PSEUDO_CLASS. get());
             }

             @Override public Object getBean() {
                 return MyControl.this;
             }

             @Override public String getName() {
                 return "magic";
             }
         }

         private static final PseudoClass
             MAGIC_PSEUDO_CLASS = PseudoClass.getPseudoClass("xyzzy");

  Since:
    JavaFX 8.0

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PseudoClass()` |

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static PseudoClass` | `getPseudoClass​(String pseudoClass)` | There is only one PseudoClass instance for a given pseudoClass.
    `abstract String` | `getPseudoClassName()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PseudoClass

          public PseudoClass()

  - ### Method Detail

    - #### getPseudoClass

          public static PseudoClass getPseudoClass​(String pseudoClass)

      There is only one PseudoClass instance for a given pseudoClass.
      Parameters:
        `pseudoClass` - the pseudo-class
      Returns:
        The PseudoClass for the given pseudoClass. Will not return null.
      Throws:
        `IllegalArgumentException` - if pseudoClass parameter is null or an empty String

    - #### getPseudoClassName

          public abstract String getPseudoClassName()

      Returns:
        the pseudo-class state