2014-02-28 10 views
1

내 맞춤 라벨에 사용되는 대체 GWT 지원되지 않는 API com.google.gwt.user.client.Element를 원합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?사용되지 않는 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 버전을 사용하고 있습니다.

답변

3

사용

import com.google.gwt.dom.client.Element; 
+0

이되지 않는 경고를 제거 할 수 있습니다. –

+0

그 해결책은 내 컴파일 된 코드에서 "null"과 "undefined"라는 경고와 버그를 해결합니다. –

3

의 JavaDoc를 클릭 here를 들어

Element span = Document.get().createSpanElement(); 

보십시오. 요소의

+0

고마워, 나는 이것이 @ andrei-volgin의 응답과 같다고 생각한다. – vimterd

+0

@ andrei-volgin에 언급 된대로 사용되지 않는 span 요소를 만드는 방법은 무엇입니까? – Braj

+0

나는 deprecate 요소를 반환하는 몇 가지 메서드를 사용하기 때문에 전체 코드를 게시하므로 두 경우 모두 동일한 결과를 얻습니다. 내가 틀렸다? – vimterd

1

따라서 직접 사용은 요소 자체를 사용하지 않는, 사용되지 않습니다, 그러나 그것의 서브 클래스 SpanElement의 : 솔루션 이잖아

import com.google.gwt.dom.client.SpanElement; 

SpanElement span = Document.get().createSpanElement(); 
DOM.insertChild(getElement(), span, 0); 
관련 문제