2014-03-31 7 views
0

나는 gwt에서 UiBinder를 사용하고있다. 난 붕괴 uibinder (부트 스트랩 라이브러리)를 사용하고 있습니다. 나는 따르는 부호가있다 :UiBinder 변수

<b:Collapse b:id="toggle1" existTrigger="true" ui:field="toggle1"> 
    <b:FluidRow> 
      <b:Column size="12"> 
       <b:Alert close="false" animation="true" heading="Cabecera"> 
        Text 
       </b:Alert> 
       </b:Column> 
    </b:FluidRow> 
</b:Collapse> 

나의 문제는 나는 그것을 만들 때 b : id = "toggle1"를 변화시킬 필요가있다. 변수를 사용해야합니다. 누군가 어떻게 내게 그것을 설명 할 수 있을까요? 인터넷에서보고 있지만 좋은 설명을 찾지 못했습니다.

감사합니다.

+0

당신이 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 ("toggle1") (동적 cancelButton의 ID를 설정) 또는 전체적으로 속성? –

+0

이드 만 변경해야합니다. 만약 내가 여러 다른 붕괴를 원한다면 각각은 서로 다른 idetifier를 가져야한다. id를 매개 변수로 설정하려고합니다 (예 : id = "{variable}"). 자바 클래스를 설정하여 설정합니다. 너무 빨리 답변 해 주신 Anders에게 감사드립니다. –

+0

여기에'b'가 무엇입니까? XML로 ID를 어떻게 설정합니까? [ui : 필드 선언이있는 필드에 ID 추가] (http://stackoverflow.com/questions/16070979/add-id-to-field-with-uifield-declaration)를 읽어보십시오. – Braj

답변

1

createAndBindUi()을 호출 한 후 JAVA로 ID를 설정하십시오.

collapseWidget.getElement().setId("toggle2"); 

단계

는 다음과 같이하십시오

  • 당신이 gwt.xml에서 항목 아래에있는 추가

    <inherits name="com.google.gwt.user.Debug"/> 
    
  • 당신의 ui.xml

    <gwt:CheckBox ui:field="myCheckBox" debugId="myCheckBox" /> 
    
  • 에 다음과 같이 ui:field과 함께으로 사용 debugId
  • 이제 이드를 아래 그림과 같이 ID를 기본 접두사 gwt-debug- 생성되는 모든

    myCheckBox.getElement().getId(); 
    
  • 을 얻을 수 있습니다. 원하는 경우 제거 할 수 있습니다.

    gwt-debug-myCheckBox 
    
  • 어느 한 getElement().setId() 또는 ensureDebugId()를 사용합니다. 차이점은 gwt-debug-입니다. ensureDebugId()은 접두사를 사용합니다.


샘플 코드 :

<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> 
+0

[gwt uibinder ui : with - 인수가있는 호출 메소드] (http://stackoverflow.com/questions/8937269/gwt-uibinder-uiwith-calling-methods-with-arguments)를 참조하십시오. – Braj

+0

감사합니다. 그것을하는 또 다른 방법입니다. 나는 그것을 시도 할 것이다. –