Ran*_*ku' 6 html gwt fieldset legend event-handling
我正在尝试在GWT中创建一个标题边框,这导致:

这可以使用HTML字段集和图例标记来完成,例如
<fieldset>
<legend>Connection parameters</legend>
... the rest ...
</fieldset>
Run Code Online (Sandbox Code Playgroud)
我想在GWT中创建一个实现它的自定义小部件.我设法做到了,但问题是虽然我添加了处理程序,但是在窗口小部件内发生的事件(按钮点击等)不会被触发.
我的小部件实现如下:
public class TitledPanel extends Widget {
private Element legend;
private Widget content = null;
public TitledPanel() {
Element fieldset = DOM.createFieldSet();
legend = DOM.createLegend();
DOM.appendChild(fieldset, legend);
setElement(fieldset);
}
public TitledPanel(String title) {
this();
setTitle(title);
}
@Override
public String getTitle() {
return DOM.getInnerHTML(legend);
}
@Override
public void setTitle(String html) {
DOM.setInnerHTML(legend, html);
}
public Widget getContent() {
return content;
}
public void setContent(Widget content) {
if (this.content != null) {
DOM.removeChild(getElement(), this.content.getElement());
}
this.content = content;
DOM.appendChild(getElement(), content.getElement());
}
}
Run Code Online (Sandbox Code Playgroud)
我是否需要扩展Composite,或者需要手动重新路由事件,还是有其他方法吗?
| 归档时间: |
|
| 查看次数: |
9390 次 |
| 最近记录: |