htmlPanel.getElement().setId("myId");
Run Code Online (Sandbox Code Playgroud)
如果面板是在UiBinder模板中定义的,那么你必须通过"ui:field"在Java类中访问它:
<g:HTMLPanel ui:field="htmlPanel">...</g:HTMLPanel>
Run Code Online (Sandbox Code Playgroud)
...
@UiField
HTMLPanel htmlPanel;
public MyWidget() {
initWidget(uiBinder.createAndBindUi(this));
htmlPanel.getElement().setId("myId");
}
Run Code Online (Sandbox Code Playgroud)
注意:使用<g:HTMLPanel id="myId">不起作用.
有一个原因,为什么使用ID不会使GWT小部件更简单:
您必须非常小心,不要在同一页面上两次使用相同的ID.由于自然重复使用因素,使用小部件尤其容易发生这种情况.(不仅可以重用小部件,还可以使用父小部件......)
因此,例如,如果MyWidget可以在页面文档中同时出现多次,则必须确保每次都设置不同的ID.可以这样做,如果你愿意,你可以使用com.google.gwt.dom.client.Document.createUniqueId().
或者,如果可能的话,可以使用CSS类而不是id(因为css类可以并且应该在同一页面上重复使用).
小智 5
你可以这样做:
htmlPanel.getElement().setId( "yourId" );
Run Code Online (Sandbox Code Playgroud)
这适用于任何小部件/元素.
| 归档时间: |
|
| 查看次数: |
1846 次 |
| 最近记录: |