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 Details

### PseudoClass

public PseudoClass()

## Method Details

### 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