[英]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.