java - 如何从 Java 访问 JavaFX 1.3 静态类成员?

标签 java reflection javafx

我想使用 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/

相关文章:

java - 如何从 Map<Key,List<Value>> 获取 List<Value>

java - 如果 URL 中没有应用程序上下文,我如何使用 Weblogic (12 C)?

java - ChangeListener 在 Javafx 中未触发

java - 在 Java 中使用反射迭代 Nd 数组的问题

reflection - 使用反射检查分配给 interface{} 变量的函数签名

JavaFX:为多个表的折线图系列提供不同的颜色

JavaFX native 打包 - 初始化静态变量时出现奇怪的错误

java - Hibernate映射困惑

Java ClassLoader - 强制重新加载已经加载的类

java - 当您没有类的源代码时,如何在 Java 中打印对象的值?