2014-07-16 25 views
1

我正在使用Vaadin框架,並試圖找出如何使用Navigator.navigateTo()方法顯示CustomComponent。如何使用Vaadin Navigator顯示CustomComponent?

我有一個類

public class MyView extends CustomComponent implements View { 
... 
} 

它有一個佈局成員。

當我調用navigator.navigateTo(「view」,new MyView());我什麼也沒看到。

有關如何使用導航器顯示CustomComponent的任何想法?

謝謝!

+1

的NavigateTo只允許一個字符串(視圖名)作爲參數?你在那裏打什麼電話?通常CustomComponent可以很好地作爲View。 – cfrick

回答

1

我覺得這裏的問題不是CustomComponent,但 「的NavigateTo」

你需要使用某事像這樣:

MyUiContent implements ViewDisplay { 
    private HorizontalLayout mainViewLayout; 

    public Component init() { 
     this.mainViewLayout = new HorizontalLayout(); 
     return this.mainViewLayout; 
    } 
    @Override 
    public void showView(View view) { 
     //handle view display 
     mainViewLayout.removeAllComponents(); 
     mainViewLayout.addComponent(view); 
    } 
} 

和:

MyUi extends UI{ 
    // the rest of the initialization.... 
    @Override 
    protected void init(VaadinRequest request) { 
     MyUiContent myUi = new MyUiContent(); 
     setContent(myUi.init()); 
     setNavigator(new Navigator(this, myUi); 
    } 
} 
+0

我想你已經知道https://vaadin.com/book/vaadin7/-/page/advanced.navigator.html並添加/註冊視圖到你的導航器!? – riddy