我想要替换GWT弃用的API com.google.gwt.user.client.Element,用于我的自定义标签。 这样做的最佳方式是什么?
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
public class CustomTabLabel extends Label {
private String text;
public CustomTabLabel() {
super();
super.setWidth("250px");
}
public void setResource(ImageResource imageResource) {
Image img = new Image(imageResource);
String definedStyles = img.getElement().getAttribute("style");
img.getElement().setAttribute("style", definedStyles + "; vertical-align:middle;");
DOM.insertBefore(getElement(), img.getElement(), DOM.getFirstChild(getElement()));
}
@Override
public void setText(String text) {
this.text = text;
Element span = DOM.createElement("span");
span.setInnerText(text);
span.setAttribute("style", "padding-left:7px; padding-right:7px; vertical-align:middle;");
DOM.insertChild(getElement(), span, 0);
}
@Override
public String getText() {
return this.text;
}
}
我正在使用2.6.0 GWT版本。
答案 0 :(得分:3)
使用
import com.google.gwt.dom.client.Element;
答案 1 :(得分:3)
答案 2 :(得分:1)
因此不推荐直接使用Element,不要使用Element本身,而是使用它的子类SpanElement:
import com.google.gwt.dom.client.SpanElement;
SpanElement span = Document.get().createSpanElement();
DOM.insertChild(getElement(), span, 0);