GWT IntegerBox 包装和事件
GWT IntegerBox wrap and events
html 的一个小节被加载到框架 (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>
我可以包装 select 框、复选框、按钮、文本框和画布。但是我找不到用 "number".
类型包装输入框的方法
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。
在遵循 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());
}
});
显然现在我只需要添加验证码并说明错误输入。
html 的一个小节被加载到框架 (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>
我可以包装 select 框、复选框、按钮、文本框和画布。但是我找不到用 "number".
类型包装输入框的方法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。
在遵循 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());
}
});
显然现在我只需要添加验证码并说明错误输入。