我对 GWT 应用程序进行了一些更改,但没有在客户端浏览器中对其进行测试。我刚刚在浏览器中测试了它,现在浏览器抛出错误:
错误:未捕获的异常:java.lang.IllegalArgumentException:小部件必须是此面板的子项。
我如何弄清楚为什么会抛出这个问题以及在哪里解决它?
从现在到上次测试期间,我对代码进行了很多更改,以找出它可能来自内存的位置。
任何帮助将不胜感激。
我对 GWT 应用程序进行了一些更改,但没有在客户端浏览器中对其进行测试。我刚刚在浏览器中测试了它,现在浏览器抛出错误:
错误:未捕获的异常:java.lang.IllegalArgumentException:小部件必须是此面板的子项。
我如何弄清楚为什么会抛出这个问题以及在哪里解决它?
从现在到上次测试期间,我对代码进行了很多更改,以找出它可能来自内存的位置。
任何帮助将不胜感激。
setWidgetPosition
如果您尝试调用 AbsolutePanel , getWidgetLeft
或者getWidgetTop
使用不是 AbsolutePanel 子级的小部件作为参数,则会(至少)抛出此错误消息。也许您在将小部件附加到面板之前调用该方法。
对于调试,您可以尝试以下操作:
在托管模式下运行并在 IllegalArgumentException 上设置调试指针。
或者,如果您只能在客户端代码中找到它。我使用 -style pretty 编译并使用 FireBug 调试器在 Firefox 中运行它,并将脚本设置为在错误时中断或跟踪 throw/catch。