在GWT中调用removeFromParent后附加图像?
图像是从UiBinder创建的 e.g。
<g:HTMLPanel>
<g:Image ui:field="myImage"/>
</g:HTMLPanel>
public class Testing extends Composite {
interface MyUiBinder extends UiBinder<Widget, Testing> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@UiField Image myImage;
public Testing() {
initWidget(uiBinder.createAndBindUi(this));
}
public void remove() {
myImage.removeFromParent();
}
public void add() {
...
}
答案 0 :(得分:1)
您可以隐藏图片,而不是删除图片:
public void remove() {
myImage.setVisible(false);
}
public void add() {
myImage.setVisible(true);
}
在DOM中添加和删除对于浏览器而言是昂贵的。
答案 1 :(得分:1)
好吧,我想你可以添加一个引用容器面板的字段:
<g:HTMLPanel ui:field="imgPanel">
<g:Image ui:field="myImage"/>
</g:HTMLPanel>
然后你可以去:
imgPanel.add(myImage);