html的一个子部分,它被加载到一个Frame(IframeElement)中:
<tr>
<td>Desc</td>
<td><select id="descfont" class="fontname"></select></td>
<td><input id="descbold" type="checkbox"></td>
<td><input id="descitalic" type="checkbox"></td>
<td><input id="descsize" type="number" class="numberbox"></td>
<td><canvas id="desccolour" class="colorcanvas"></canvas></td>
</tr>
我可以包装选择框,复选框,按钮,文本框和画布。但我找不到一种方法来包装输入框的类型为&#34;数字&#34;。
final ListBox dfont = ListBox.wrap(doc.getElementById("descfont"));
final SimpleCheckBox dbold = SimpleCheckBox.wrap(doc.getElementById("descbold"));
final SimpleCheckBox ditalic = SimpleCheckBox.wrap(doc.getElementById("descitalic"));
final Canvas dcanvas = Canvas.wrap((CanvasElement)doc.getElementById("desccolour"));
我尝试过的这些或类似术语不起作用:
final ValueBox<Object> title_size = IntegerBox.wrap(doc.getElementById("descsize"),
IntegerRenderer.instance(), IntegerParser.instance());
或
'something' = ValueBox.wrap(doc.getElementById("descsize"), null, null);
有谁知道怎么做?
除此之外,我可以在文本框中使用onBlur()事件。 IntegerBox需要哪些事件?
非常感谢...
编辑:将标题大小更改为片段中的descsize。
答案 0 :(得分:0)
在遵循Eclipse的错误建议后,我终于设法让它工作,而不需要onBlur事件处理程序。
final ValueBox<Integer> title_size = IntegerBox.wrap(doc.getElementById("titlesize"),
IntegerRenderer.instance(), IntegerParser.instance());
title_size.setSelectionRange(0, 200); // hoping this works now
title_size.setValue(vscroll.desc_size);
title_size.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
log.info("New value: " + title_size.getValue());
}
});
显然现在我只需要为错误输入添加验证码和帐户。