Hallo zusammen,
an sich hat dieser Thread mehr mit Reflections zu tun als JavaFX. Ich schreibe gerade ein JavaFX Renderer und benötige für die Effecte sozusagen ein Formular. zum Beispiel wenn der Effect width mit DatenType DoubleProperty hat dann soll ein Slider gerendert werden. Wenn aber ein DatenType ObjectProperty<BlendMode> existiert. wie bekomme ich über Reflections den BlendMode, oder noch besser alle Enum Items von dem BlendMode zurück?
Wie kann ich zum Beispiel das Feld nach dem ObjectProperty<Color> abfragen?
an sich hat dieser Thread mehr mit Reflections zu tun als JavaFX. Ich schreibe gerade ein JavaFX Renderer und benötige für die Effecte sozusagen ein Formular. zum Beispiel wenn der Effect width mit DatenType DoubleProperty hat dann soll ein Slider gerendert werden. Wenn aber ein DatenType ObjectProperty<BlendMode> existiert. wie bekomme ich über Reflections den BlendMode, oder noch besser alle Enum Items von dem BlendMode zurück?
Code:
Class<? extends Effect> effect = (Class<? extends Effect>) Class.forName("javafx.scene.effect."+effectName);
for (Field field : effect.getDeclaredFields()) {
System.out.println(field.getName());
if (field.getType().isAssignableFrom(DoubleProperty.class)) {
System.out.println("DoubleProperty : "+field.getName() +" : "+field.getType());
}else if (field.getType().isAssignableFrom(ObjectProperty.class)) {
// An der Stelle weiß ich das ObjectProperty ein DatenTyp hat, aber welchen?
// Und falls BlendMode, wie bekomme ich über ObjectProperty<BlendMode> alle Enum Literale zurück?
System.out.println("ObjectProperty : "+ field.getName()+" : "+field.getType());
}
}
Wie kann ich zum Beispiel das Feld nach dem ObjectProperty<Color> abfragen?