java - 遍历所有 SimpleTextBox

标签 java class gwt object loops

是否可以迭代特定类的所有“实例”?我环顾四周,得出了以下结论:

        for (Field field : SimpleCheckBox.class.getFields()) {
        System.out.println(field.getName());
    }

我想遍历所有字段,并在它们上实现一些功能,而不必单独选择它们。上面的代码给出了错误:

    java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.Error: Unresolved compilation problem: The method getFields() is undefined for the type Class

如有任何帮助,我们将不胜感激!

最佳答案

首先,这个错误很奇怪,你应该能够编译它。也许这是一个 GWT 问题,不支持该方法,但在普通的旧 java 中它可以工作。

但是它不会像你期望的那样工作。它将为您提供类中定义的字段(“属性”),而不是类本身的实例(UI 概念中的字段与 OP 概念中的字段不同)。

到目前为止,还没有简单的方法来获取类的所有当前实例。

如果你想要的是(就像它看起来的那样)获取一个容器中的所有复选框并执行一些操作,也许你想要做的是检索容器的所有组件并检查它们使用 instanceof 运算符。

关于java - 遍历所有 SimpleTextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900868/

相关文章:

JAVA 6 服务加载器

java - 通过代理连接 JSoup

swift - 知道变量是类还是结构的实例

java - 如何访问子文件夹中的java类

c++ - 在 main 中访问类数据

GWT 从文本字段注册按键事件

java - LibGDX gwd 不继承所需的模块

java - 在Java中打印梯形

java - 使用java驱动程序读取cassandra海量数据

java - GWT WebApp 寻找入口点