GWT - 如何更改复选框属性

时间:2014-12-29 08:54:04

标签: java html css gwt uibinder

我有一个(?)UiBinder以这种方式创建复选框元素:

<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元素的方法。

我如何访问它?

2 个答案:

答案 0 :(得分:2)

你总是可以这样做:

ignoreCase.getElement().getChild(0)

另一种选择是创建一个CSS规则,您可以在每次需要此边距时始终如一地应用该规则。例如:

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

您可以在复选框上以编程方式设置此类,或将其添加到UiBinder中。

答案 1 :(得分:0)

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

使用“styleName”属性为GWT元素添加静态样式:

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

或使用Java类中的ui:field访问元素:

@UiField ignoreCase;

...

ignoreCase.addStyleName("mystyle");