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 Details

    • PseudoClass

      public PseudoClass()
      Constructor for subclasses to call.
  • Method Details

    • getPseudoClass

      public static PseudoClass getPseudoClass(String pseudoClass)
      Gets the PseudoClass instance for a given pseudo class name.

      Note: There is only one PseudoClass instance for a given pseudo class name.

      Parameters:
      pseudoClass - the name of the pseudo class
      Returns:
      the PseudoClass instance for a given pseudo class name; It will not return null
      Throws:
      IllegalArgumentException - if pseudoClass parameter is null or an empty String
    • getPseudoClassName

      public abstract String getPseudoClassName()
      Gets the name of the PseudoClass.
      Returns:
      the name of the PseudoClass