[英]How do I access a JavaFX 1.3 static class member from Java?
我想使用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);
您的“ MyJavaFXClass”应实现接口IF。 接口IF应该至少定义一种返回“可变物”类型的方法。 然后,您的“ MyJavaFXClass”必须使用“ Class MyJavaFXClass extended IF”实现接口。
要从Java代码访问“事物”,首先将Object转换为IF,然后调用该方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.