获取menubutton的选中项
Get selected items of menubutton
我的 JavaFX 应用程序中有 3 个菜单按钮,每个按钮都填充了 CheckMenuItems。
我想获取 MenuButton 的 每个 选定项的文本。我该如何进行?
获取所有 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);
}));
我的 JavaFX 应用程序中有 3 个菜单按钮,每个按钮都填充了 CheckMenuItems。 我想获取 MenuButton 的 每个 选定项的文本。我该如何进行?
获取所有 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);
}));