import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.*; import javafx.application.Application; import javafx.css.CssMetaData; import javafx.css.Styleable; import javafx.scene.layout.Region; import javafx.scene.paint.Paint; import javafx.stage.Stage; public class JavaApplication1 extends Application{ @Override public void start(Stage stage) throws Exception { List> list = getListWithSubProperty(Region.getClassCssMetaData()); Region region = new Region(); for (CssMetaData data : list) { if (data.getProperty().equals("-fx-background-color")) { System.out.println(data.getProperty()+ " => " + Arrays.toString((Paint[])data.getInitialValue(region))); } } } private List> getListWithSubProperty(List> list) { ArrayList> newList = new ArrayList<>(list); for (CssMetaData data : list) { List> sub = data.getSubProperties(); if (sub != null && sub.size() > 0) { newList.addAll(getListWithSubProperty(sub)); } } return newList; } /** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } }