Gwt 此面板保持位置:绝对应用。我怎样才能阻止它?

Gwt 此面板保持位置:绝对应用。我怎样才能阻止它?,gwt,css-position,Gwt,Css Position,我用AbsolutePanel做一些拖放之类的事情。我将子部件添加到AbsolutePanel,然后使用AbsolutePanel.setWidgetPosition设置它们的位置 但我一直在犯这样的错误: java.lang.IllegalStateException:com.google.gwt.user.client.ui.AbsolutePanel缺少CSS“位置:{relative,absolute,fixed}” 堆栈跟踪直接指向setWidgetPosition调用 但是!我不仅调

我用AbsolutePanel做一些拖放之类的事情。我将子部件添加到AbsolutePanel,然后使用AbsolutePanel.setWidgetPosition设置它们的位置

但我一直在犯这样的错误:

java.lang.IllegalStateException:com.google.gwt.user.client.ui.AbsolutePanel缺少CSS“位置:{relative,absolute,fixed}”

堆栈跟踪直接指向setWidgetPosition调用

但是!我不仅调用了absolutePanel.getElement.getStyle().setPosition(Position.RELATIVE),还应用了带有Position:RELATIVE属性的样式名。当我用FireBug检查元素时,它有一个带有“position:absolute”的style属性,大概覆盖了其他所有内容

我怎样才能摆脱这个警告


实际行为似乎工作正常,但可能我遗漏了什么。

这似乎是GWT中的一个bug:


不确定这个bug是否真的得到了修复,因为我在GWT2.6.0中仍然遇到这个问题

查看AbsolutePanel的代码时,我注意到当从AbsolutePanel中删除子元素时,它会清空子元素的position attibute的值。 将子对象重新添加到AbsolutePanel时,“位置”属性保持为空。 如果重新添加的子级本身是AbsolutePanel,则这是有问题的,因为在这种情况下,在子级AbsolutePanel上调用setWidgetPosition时会发生IllegalStateException异常

当你在做一些拖放的事情时,通常伴随着添加/删除小部件,我想这就是发生的事情

解决方法: 从其父AbsolutePanel中删除myChildAbsolutePanel后,立即调用myChildAbsolutePanel.getElement().getStyle().setProperty(“位置”、“相对”)

远非美丽,而是对我有用