Module javafx.graphics
Package javafx.css

# Interface StyleableProperty<T>

Type Parameters:
  `T` - the specific property

All Superinterfaces:
  `WritableValue<T>`

All Known Implementing Classes:
  `SimpleStyleableBooleanProperty`, `SimpleStyleableDoubleProperty`, `SimpleStyleableFloatProperty`, `SimpleStyleableIntegerProperty`, `SimpleStyleableLongProperty`, `SimpleStyleableObjectProperty`, `SimpleStyleableStringProperty`, `StyleableBooleanProperty`, `StyleableDoubleProperty`, `StyleableFloatProperty`, `StyleableIntegerProperty`, `StyleableLongProperty`, `StyleableObjectProperty`, `StyleableStringProperty`

public interface StyleableProperty<T> extends WritableValue<T>
StyleableProperty allows a `javafx.beans.property` to be styled from CSS.

This interface allows coordination between CSS processing and a `javafx.beans.property`. The implementation ensure that the priority for setting the value is, in increasing order and assuming equal importance:

1. a style from a user agent stylesheet in `Application.setUserAgentStylesheet(java.lang.String)`
2. value set from code, for example calling `Node.setOpacity(double)`
3. a style from an author stylesheet in `Scene.getStylesheets()` or `Parent.getStylesheets()`
4. a style from `Node.setStyle(java.lang.String)`

The `StyleablePropertyFactory` greatly simplifies creating a StyleableProperty and its corresponding CssMetaData.

Since:
  JavaFX 8.0
See Also:
  - `StyleablePropertyFactory`

## Method Summary

Modifier and Type
Method
Description
`void`
`applyStyle(StyleOrigin origin, T value)`
This method is called from CSS code to set the value of the property.
`CssMetaData<? extends Styleable,T>`
`getCssMetaData()`
Reflect back the CssMetaData that corresponds to this `javafx.beans.property.StyleableProperty`
`StyleOrigin`
`getStyleOrigin()`
Tells the origin of the value of the property.

### Methods inherited from interface javafx.beans.value.WritableValue

`getValue, setValue`

## Method Details

### applyStyle

void applyStyle(StyleOrigin origin, T value)
This method is called from CSS code to set the value of the property.

Parameters:
  `origin` - the origin
  `value` - the value

### getStyleOrigin

StyleOrigin getStyleOrigin()
Tells the origin of the value of the property. This is needed to determine whether or not CSS can override the value.

Returns:
  the style origin

### getCssMetaData

CssMetaData<? extends Styleable,T> getCssMetaData()
Reflect back the CssMetaData that corresponds to this `javafx.beans.property.StyleableProperty`

Returns:
  the corresponding CssMetaData