調用createAndBindUi()
後,在JAVA中設置ID。
collapseWidget.getElement().setId("toggle2");
遵循的步驟:
添加條目下方在你gwt.xml
<inherits name="com.google.gwt.user.Debug"/>
隨着ui:field
在你ui.xml
<gwt:CheckBox ui:field="myCheckBox" debugId="myCheckBox" />
如下所示使用
debugId
現在你可以得到的Id
myCheckBox.getElement().getId();
所有的ID與默認前綴gwt-debug-
產生如下圖所示。如果你想,那麼你可以刪除它。
gwt-debug-myCheckBox
使用任何一個getElement().setId()
或ensureDebugId()
。它們之間的區別在於前綴gwt-debug-
。 ensureDebugId()
使用前綴。
示例代碼:(設置的cancelButton
動態ID)
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.uibinder.client.UiTemplate;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.Widget;
public class MyDialogbox extends DialogBox {
private static MyUiBinder myUIBinder = GWT.create(MyUiBinder.class);
@UiTemplate("MyDialogbox.ui.xml")
interface MyUiBinder extends UiBinder<Widget, MyDialogbox> {
}
public MyDialogbox() {
setWidget(myUIBinder.createAndBindUi(this));
System.out.println(cancelButton.getElement().getId());
cancelButton.getElement().setId("cancel");
}
@UiField
Button cancelButton;
@UiHandler("cancelButton")
void doOpenDialogBox(ClickEvent event) {
hide();
}
}
MyDialogbox.ui.xml
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:DialogBox autoHide="true" modal="false">
<g:caption>
<b>Caption text</b>
</g:caption>
<g:HTMLPanel>
Body text
<g:Button ui:field='cancelButton' debugId='cancelButton'>Cancel</g:Button>
<g:Button ui:field='okButton' debugId='okButton'>Okay</g:Button>
</g:HTMLPanel>
</g:DialogBox>
</ui:UiBinder>
你需要更改ID( 「toggle1」)或作爲一個整體的屬性? –
我需要更改唯一的ID。如果我想要有一些不同的崩潰,每個人都應該有不同的名人。 我想將id設置爲一個參數,例如:id =「{variable}」並形成java類來設置它。 謝謝安德斯回答這麼快。 –
這是什麼'b'?你如何在XML中設置ID?請閱讀[使用ui添加ID到字段:字段聲明](http://stackoverflow.com/questions/16070979/add-id-to-field-with-uifield-declaration)。 – Braj