2013-05-03 38 views
0

我試圖在點擊處理程序期間打開一個模式窗口來驗證用戶操作,但窗口只有在處理程序完成時纔會出現。窗口代碼可以像下面這樣簡單,但它仍然不會顯示,所以它不是與我的抽象類有關。Vaadin(7.0.5)窗口無法打開,直到調用過程結束

Window w = new Window(); 
    w.setModal(true); 
    w.setImmediate(true); 
    // Add components etc etc 

    UI.getCurrent().addWindow(w); 

我可以將操作代碼添加到Windows確定/是處理程序,但這會阻止我創建一個通用的消息類來簡化/停止代碼重複。

我猜測有些事我不瞭解Vaadin/GWT的工作原理(還是一個新手!),有人能指出我的方向嗎?

乾杯

回答

1

對於UI的東西,你必須停止了順編程的思想, 不如想想事件驅動的概念。

對於Vaadin,您可以創建一個對話框窗口,詢問是/否問題。 在你的應用程序中,你創建這個對話框並顯示它。 然後,您附加一個事件處理程序,當用戶單擊是/否, 時觸發,並在此處理程序中執行代碼中的所需操作。

您也可以看看這個附加

https://vaadin.com/de/directory#addon/confirmdialog

+0

乾杯。我意識到如何將我的系統結合在一起,使其能夠與事件驅動模型一起工作(雖然本週末坐在酒吧外面!)。改變我的方法需要一段時間! – Michael 2013-05-07 08:38:50