我想使用 Javafx 反射 API 从 Java 访问静态 JavaFX 类成员。
例如JavaFX 代码:
public var thing;
class MyJavaFXClass {
}
Java代码:
private Object getThing() {
FXClassType classType = FXContext.getInstance().findClass("mypackage.MyJavaFXClass");
// Get static member 'thing' from 'MyJavaFXClass'
// <Insert Code Here>
return thing;
}
访问“MyJavaFXClass.thing”需要什么 Java 代码?
注意:我使用的是 JavaFX 1.3 - 我不确定反射 API 是否与早期的 JavaFX 版本不同。
最佳答案
FXClassType classType = FXContext.getInstance().findClass("mypackage.MyJavaFXClass");
FXVarMember var = classType.getVariable("thing");
FXValue value = var.getValue(null);
System.out.println(value.getValueString());
或者如果您想要对象,而不是字符串。
FXLocal.Value value = (FXLocal.Value)var.getValue(null);
Object obj = value.asObject();
System.out.println(obj);
关于java - 如何从 Java 访问 JavaFX 1.3 静态类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2986731/