2017-07-04 47 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); 
}));