首先,您可以像这样获取字段及其值
import java.lang.reflect.Field;
public class FooBar extends AbstractFooBar{
public String foo = "Search for foo";
public String bar = "Search for bar";
public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException {
Field[] fields = FooBar.class.getFields();
// Field[] fields = AbstractFooBar.class.getFields();
for (Field field : fields) {
System.out.println(field.get(new Object()).toString());
}
}
但是你可以猜到你不能使用任何抽象。此外,您的所有字段都必须是公开的。
您可以使用资源文件初始化您的类。您可以通过使用 IChoiceRenderer 将字段传递给 DropDownChoice,然后通过反射获取字段。
您的 DropDownChoice 类型可以是 Field 并且您可以通过提供字段列表来初始化它。然后在您的 IchoiceRenderer 中,您可以获得模型对象。
我希望它会有所帮助。