2017-07-04 73 views
0

我在我的JavaFX應用程序中有3個MenuButtons,每個填充CheckMenuItems。 我想獲得的文字的MenuButton選定項。我該如何繼續?獲取menubutton的選定項目

+0

請編輯您的問題以顯示[迄今爲止的代碼](http://whathaveyoutried.com)。你至少應該包括一個你遇到問題的代碼大綱(但最好是[mcve]),然後我們可以嘗試幫助解決具體問題。你還應該閱讀[問]。 –

回答

0

全部取MenuItems,選中過濾器並將它們映射到String

MenuButton mb = new MenuButton(); 
mb.getItems().addAll(new CheckMenuItem("One"), new CheckMenuItem("Two"), new CheckMenuItem("Three")); 
mb.getItems().stream().forEach((MenuItem menuItem) -> menuItem.setOnAction(ev -> { 
    final List<String> selectedItems = mb.getItems().stream() 
      .filter(item -> CheckMenuItem.class.isInstance(item) && CheckMenuItem.class.cast(item).isSelected()) 
      .map(MenuItem::getText) 
      .collect(Collectors.toList()); 
    System.out.println(selectedItems); 
}));