2015-02-05 31 views
1

我開始使用GWTBoostrap3,我最大的需求是創建一個包含子菜單的菜單,並且此菜單需要是動態的,因此需要在Java中完成。它會像Gwt MenuBarGwtBootstrap3 NavBar與子菜單

我嘗試....

final ListDropDown listDropDown = new ListDropDown(); 
AnchorButton anchorButton = new AnchorButton(ButtonType.INFO); 
anchorButton.setText("btn1"); 
DropDownMenu dropDownMenu = new DropDownMenu(); 
AnchorListItem anchorListItemd = new AnchorListItem("Item 1"); 
dropDownMenu.add(anchorListItemd); 
anchorButton.setDataToggle(Toggle.DROPDOWN); 
listDropDown.add(anchorButton); 
listDropDown.add(dropDownMenu); 


final ListDropDown listDropDown2 = new ListDropDown(); 
final AnchorButton anchorButton2 = new AnchorButton(ButtonType.INFO); 
anchorButton2.setText("Item 2"); 
DropDownMenu dropDownMenu2 = new DropDownMenu(); 
dropDownMenu2.setStyleName("dropdown-submenu"); 
dropDownMenu2.add(new AnchorListItem("Item 1")); 
HTML child = new HTML(); 
child.addStyleName("caret"); 
anchorButton2.add(child); 
anchorButton2.addClickHandler(new ClickHandler() { 

    @Override 
    public void onClick(ClickEvent event) { 
     anchorButton2.removeStyleName("dropdown-toggle"); 
     listDropDown.addStyleName("open"); 
     if(!listDropDown2.getStyleName().contains("open")){ 
      listDropDown2.addStyleName("open");     
     }else{ 
      listDropDown2.removeStyleName("open"); 
     } 

    } 
}); 
listDropDown2.add(anchorButton2); 
anchorButton2.removeStyleName("dropdown-toggle"); 
listDropDown2.add(dropDownMenu2); 


dropDownMenu.add(listDropDown2); 
+0

請提供更多信息您要做什麼。 – Charmin 2015-02-06 12:42:18

+1

我創建了一個正常的菜單,其中菜單項是一個listDropDown,並在該listDropDown我把listDropDown2,但是當你點擊展開第二個listDropDown它不會擴大它,並關閉第一個listDropDown。我的嘗試是手動設置onclick將css類更改爲「下拉打開」 – liwston 2015-02-10 12:51:04

回答

1

引導3 does not support submenus。這是因爲Bootstrap 3是一個移動的第一個框架,子菜單在移動設備上沒有意義。

如果你仍然想使用子菜單,你可以easily add them yourself。您必須在應用程序中的某處添加引用的CSS,並創建一個DropDownSubmenu小部件,與DropDownMenu非常相似,但使用的格式爲dropdown-submenu,而不是dropdown-menu