2010-07-28 4 views
0

GWT를 처음 사용하고 AJAX 호출 결과를 내 대화 상자에 표시하는 데 문제가 있습니다. 는 onSuccess 방법 나는이 있고,GWT/JAVA - AJAX 호출을 대화 상자로 가져 오기

VerticalPanel eventDetailWindow = new VerticalPanel(); 

    final DialogBox dialogBox2 = new DialogBox(); 
    dialogBox2.setText("Event Detail"); 
    dialogBox2.setAnimationEnabled(true); 

    final HTML serverResponse3 = new HTML("<b> ok, this is working</b>"); 
    serverResponse3.addStyleName("detailView"); 

    eventDetailWindow.add(serverResponse3); 
    eventDetailWindow.addStyleName("detailWindow"); 
    dialogBox2.setWidget(eventDetailWindow); 
    RootPanel.get("detailWindow").add(eventDetailWindow); 

다음 :

내가 내 대화 상자 Vpanel, 여기에 응답 레이블을 설정하지만

dialogBox2.setText("Remote Procedure Call"); 
serverResponse3.setHTML(result); 
dialogBox2.center(); 
closeButton.setFocus(true); 

를, 그것은 화재, 응답 대화 상자가 아닌 페이지에 나타나고 대화 상자가 비어 있습니다. 시동기 프로젝트와 똑같이 설정되어있는 것 같습니다. - 잘 작동합니다.

누군가 나를 도울 수 있습니까? ...?

답변

2

그나마 사용하는 RootPanel.get("detailWindow").add(eventDetailWindow);

사용 그렇게 dialogBox2에 추가하려면 :

dialogBox2.setWidget(eventDetailWindow); 

을하고 당신은 그 코드가 처음 dialogBox2 표시됩니다 dialogBox2.center(); 때문에 dialogBox2.show();를 추가 할 필요 없다.

package com.ex.client; 

import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.event.dom.client.ClickEvent; 
import com.google.gwt.event.dom.client.ClickHandler; 
import com.google.gwt.user.client.ui.Button; 
import com.google.gwt.user.client.ui.DialogBox; 
import com.google.gwt.user.client.ui.HTML; 
import com.google.gwt.user.client.ui.RootPanel; 
import com.google.gwt.user.client.ui.VerticalPanel; 


public class Example implements EntryPoint { 

public void onModuleLoad() { 
     VerticalPanel eventDetailWindow = new VerticalPanel(); 

     final DialogBox dialogBox2 = new DialogBox(); 
     dialogBox2.setText("Event Detail"); 
     dialogBox2.setAnimationEnabled(true); 

     final HTML serverResponse3 = new HTML("<b> ok, this is working</b>"); 
     serverResponse3.addStyleName("detailView"); 

     eventDetailWindow.add(serverResponse3); 
     eventDetailWindow.addStyleName("detailWindow"); 
     dialogBox2.setWidget(eventDetailWindow); 
     Button b= new Button("click"); 
     b.addClickHandler(new ClickHandler() { 

     @Override 
     public void onClick(ClickEvent event) { 
      dialogBox2.setText("Remote Procedure Call"); 
      serverResponse3.setHTML("result"); 
      dialogBox2.center(); 
     } 
    }); 

     RootPanel.get().add(b); 

    } 
} 
0

페이지에 무언가에 eventDetailWindow을 추가하면 DialogBox에 .show()에 대한 호출이 표시되지 않습니다. 전체 코드를 게시 할 수 있습니까?

관련 문제