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