2011-10-27 77 views
1

我得到一個登錄窗口,根據RPC響應,它會顯示另一個窗口。我想知道的是如何初始化第二個窗口。我試着onReset和onReveal方法,但是就像他們從不觸發,另外,當重置值時,使用destroy()會永久地殺死我的窗口。我結束了以下解決方案,但我覺得效率不高,有人可以推薦我做一個方法嗎?GWT平臺+ SmartGWT:鏈接彈出窗口

public void onSuccess(LoginResult result) { 
     if(result.getResponse().equalsIgnoreCase("OK")){ 
       getView().getUsernameField().setValue(""); 
       getView().getPasswordField().setValue(""); 
       getView().getWindow().hide(); 
       memberWindow.setUsername(username); 
       memberWindow.loadAppointments(new Date()); 
       ((Window) memberWindow.getWidget()).show(); 
    }else{ 
     SC.say("Error", "Login failed because: " + result); 
    } 

回答

1

試試這樣的事情

@Override 
    public void onSuccess(LoginResult result) { 
    CurrentUser currentUser = new CurrentUser(getView().getUserName()); 

    LoginAuthenticatedEvent.fire(eventBus, currentUser); 

    // notice the place manager call. The transitions between the pages are 
    // done in GWTP through PlaceManager.revealPlace(PlaceRequest) call. 
    PlaceRequest placeRequest = new PlaceRequest(NameTokens.mainPage); 
    getPlaceManager().revealPlace(placeRequest); 

    } 

退房 的src \ AU \ COM \上揚\偶然性\客戶端\演講\ SignInPagePresenter.java 從情緣應用與完成登錄的樣本SmartGWT + GWTP:

http://code.google.com/p/crmdipity/downloads/detail?name=Serendipity-0.6.0.zip&can=2&q=