2014-12-29 26 views
0

我有一個(一個?)UiBinder它創建複選框元素是這樣的:GWT - 如何改變複選框的屬性

<g:CheckBox ui:field="ignoreCase"/>  
在Java代碼中

,它使用此方法來設置文本

ignoreCase.setText(UIConverter.getUILocalization().get(UINames.IgnoreCase)); 

結果,在元素督察是:

<span class="gwt-CheckBox FindEntDlgIgnoreCase"> 
    <input type="checkbox" value="on" id="gwt-uid-255" tabindex="0"> 
    <label for="gwt-uid-255">Ignore case<label> 
</span> 

我想補充的input元素風格屬性:margin-left:5px,但我沒有找到方法來獲取input元素。

我該如何訪問它?

+0

UiBinder的的發音是[you - eye - bin - der]。第一個聲音是ay,所以它是一個(不是)UIBinder :)所以它是一個MP3播放器(em - pee - three - player)和一所大學(you - ni - ver - si - ty) – Charlie

回答

2

你總是可以做到:

ignoreCase.getElement().getChild(0) 

另一種選擇是創建您可以在每次需要這個餘量時間一致地應用CSS規則。例如:

.myBox input { 
    margin-left: 5px; 
} 

您可以在複選框上以編程方式設置此類,或將其添加到UiBinder中。從Java類字段的訪問元素:

0
<ui:style> 
    .mystyle { 
     margin-left: 5px; 
    } 
</ui:style> 

使用 「的styleName」 屬性,以靜態方式添加到您的GWT元素:

<g:CheckBox ui:field="ignoreCase" styleName="{style.mystyle}" /> 

或使用你的UI

@UiField ignoreCase; 

... 

ignoreCase.addStyleName("mystyle"); 
+0

OP不會爲GWT複選框添加頁邊空白,而是添加到「輸入」元素。 –

+0

Andrei Volgin權利。你的答案沒有幫助 – Aharon