2014-05-19 2 views
1

을에서 활성 창을 가져 오기 : 그것은 좋은 지금까지하지만 내가 지금하고 싶은, 내부에서 ConfirmDialog Add-on을 사용하는 것입니다 작동나는이 같은 서블릿으로 만약 angel-UI를 사용하고 UI

@WebServlet(value = "/*", asyncSupported = true) 
@VaadinServletConfiguration(productionMode = false, ui = MyUI.class, widgetset = "widgetsets.MyWidgetSet") 
public class MyServlet extends VaadinServlet { 

} 

@Theme("mytheme") 
@PreserveOnRefresh 
@Push 
public class MyUI extends UI { 
    @Override 
    protected void init(VaadinRequest request) { 
     Navigator navigator = new Navigator(this, this); 
     navigator.addView("myView", MyView.class); 
     // add some other views 
     navigator.navigateTo("myView"); 
     setNavigator(navigator); 
    } 
} 

public class MyView extends VerticalLayout implements View { 
    @Override 
    public void enter(ViewChangeListener.ViewChangeEvent event) { 
     // init UI stuff 
    } 
} 

내 전망. 내 문제는 모든 ConfirmDialog.show() 메서드의 매개 변수로 Window 필요합니다. 활성 Window 객체가 View 또는 UI 클래스가 아닌 것은 어떻게 얻을 수 있습니까? UI.getCurrent().getWindows()은 비어 있으며 찾은 모든 예제는 Application 클래스를 사용합니다.

+1

ConfirmDialog 2.0.5는 표시 매개 변수와 창에 UI를 사용합니까? 어떤 버전입니까? – cfrick

+0

@cfrick 1.0.1은'http : // maven.vaadin.com/vaadin-addons' Maven 저장소에있는 유일한 것입니다. –

+0

글쎄, 그 URL에 의해 내 2.0.5 있어요, ymmv. 그 다음에 v1이 렌더링 할 창을 원한다고 가정합니다. Vaadin은 기본적으로 창을 만들지 않으므로 이미 창작하지 않았다면 새로 만들 수 있습니까? – cfrick

답변

3

버전 1의 addon은 기존 창 (하나 만들고 창을 전달합니다. 기본적으로 Vaadin은 페이지와 UI 만 있고 창은 구성 요소입니다). addon의 버전 2에서는 대화 상자 (Window를 서브 클래스로 함)가 표시되는 UI 만 전달합니다.