2017-06-13 31 views
0

如何檢查組件是否已經在佈局中?Vaadin使用buttonclick添加/刪除組件

我有一個4x4的網格佈局 一些按鈕

一個按鈕,顯示一個數據網格 一個展示inputfields

我嘗試做的是

MenuBar.Command tablecommand = new MenuBar.Command() { 
     public void menuSelected(MenuItem selectedItem) { 
      output.setValue("clean components"); 
      layout2.removeComponent(name); 
      layout2.removeComponent(name2); 
      layout2.removeComponent(button); 
      layout2.removeComponent(cp); 

      //layout2.removeComponent(grid); 
      //if layout2 !contains grid 

      layout2.addComponent(grid,1,2); 

     } 
    }; 

不檢查,我得到例外

java.lang.IllegalArgumentException: Component is already in the container 
    at com.vaadin.ui.GridLayout.addComponent 

當我在showgrid按鈕單擊第二個時間

我能找到的唯一的事情就是「.equals(OBJ)」

回答