/** Gets the index of the currently focused item. */ private int getFocusIdx() { if (!autoCompletePopup.isShowing()) { return -1; } List<ObservableSet<PseudoClass>> collect = autoCompletePopup.getItems() .stream() .map(this::getStyleableNode) .filter(Objects::nonNull) .map(Node::getPseudoClassStates) .collect(Collectors.toList()); for (int i = 0; i < collect.size(); i++) { if (collect.get(i).contains(PseudoClass.getPseudoClass("focused"))) { return i; } } return -1; }
private void showAutocompletePopup(int insertionIndex, String input) { CompletionResultSource suggestionMaker = mySuggestionProvider.get(); List<MenuItem> suggestions = suggestionMaker.getSortedMatches(input, 5) .map(result -> { Label entryLabel = new Label(); entryLabel.setGraphic(result.getTextFlow()); entryLabel.setPrefHeight(5); CustomMenuItem item = new CustomMenuItem(entryLabel, true); item.setUserData(result); item.setOnAction(e -> applySuggestion(insertionIndex, input, result.getNodeName())); return item; }) .collect(Collectors.toList()); autoCompletePopup.getItems().setAll(suggestions); myCodeArea.getCharacterBoundsOnScreen(insertionIndex, insertionIndex + input.length()) .ifPresent(bounds -> autoCompletePopup.show(myCodeArea, bounds.getMinX(), bounds.getMaxY())); Skin<?> skin = autoCompletePopup.getSkin(); if (skin != null) { Node fstItem = skin.getNode().lookup(".menu-item"); if (fstItem != null) { fstItem.requestFocus(); } } }
private ContextMenu buildContextMenu(Node item) { ContextMenu contextMenu = new ContextMenuWithNoArrows(); CustomMenuItem menuItem = new CustomMenuItem(new Label("Copy subtree test to clipboard...")); Tooltip tooltip = new Tooltip("Creates a node spec using the Kotlin AST matcher DSL, and dumps it to the clipboard"); Tooltip.install(menuItem.getContent(), tooltip); menuItem.setOnAction(e -> { Clipboard clipboard = Clipboard.getSystemClipboard(); ClipboardContent content = new ClipboardContent(); content.putString(dumpToSubtreeTest(item)); // item is captured in the closure clipboard.setContent(content); }); contextMenu.getItems().add(menuItem); return contextMenu; }
((JFXTreeTableView) getTreeTableView()).unGroup(this); }); contextMenu.getItems().addAll(item1, item2); setContextMenu(contextMenu);
menu.getItems().add(item);
menu.getItems().add(item);
private void setContextMenuDisable(boolean value) { field.getTextField().getContextMenu().getItems().forEach(i -> i.setDisable(value)); disableRemoveMenuItemIfNeeded(); }
private void initTopSectionContextMenu(ContextMenu contextMenu, boolean hasRanges) { MenuItem setDestinationItem = createMenuItem(DefaultI18nContext.getInstance().i18n("Set destination"), MaterialDesignIcon.AIRPLANE_LANDING); setDestinationItem.setOnAction(e -> eventStudio().broadcast( requestDestination(getSelectionModel().getSelectedItem().descriptor().getFile(), getOwnerModule()), getOwnerModule())); setDestinationItem.setAccelerator(new KeyCodeCombination(KeyCode.O, KeyCombination.ALT_DOWN)); selectionChangedConsumer = e -> setDestinationItem.setDisable(!e.isSingleSelection()); contextMenu.getItems().add(setDestinationItem); if (hasRanges) { MenuItem setPageRangesItem = createMenuItem(DefaultI18nContext.getInstance().i18n("Set as range for all"), MaterialDesignIcon.FORMAT_INDENT_INCREASE); setPageRangesItem.setOnAction(e -> eventStudio().broadcast( new SetPageRangesRequest(getSelectionModel().getSelectedItem().pageSelection.get()), getOwnerModule())); setPageRangesItem.setAccelerator(new KeyCodeCombination(KeyCode.R, KeyCombination.CONTROL_DOWN)); selectionChangedConsumer = selectionChangedConsumer .andThen(e -> setPageRangesItem.setDisable(!e.isSingleSelection())); contextMenu.getItems().add(setPageRangesItem); } contextMenu.getItems().add(new SeparatorMenuItem()); }
usernameValidator.getItems().clear(); usernameValidator.getItems().add( new MenuItem("Please enter username")); usernameValidator.show(userTextField, Side.RIGHT, 10, 0); passValidator.getItems().clear(); passValidator.getItems().add( new MenuItem("Please enter Password")); passValidator.show(pwBox, Side.RIGHT, 10, 0);
private <M> void fillContextMenu(final TableView<M> tableView, final MenuItem copyMenuItem, MenuItem copyCellMenuItem) { tableView.getContextMenu().getItems().add(new SeparatorMenuItem()); tableView.getContextMenu().getItems().add(copyMenuItem); tableView.getContextMenu().getItems().add(copyCellMenuItem); }
private ContextMenu createMultipleContextMenu(List<? extends TreeItem<N>> selectedTreeItems) { ContextMenu contextMenu = new ContextMenu(); contextMenu.getItems().add(createDeleteNodeMenuItem(selectedTreeItems)); return contextMenu; }
Button addMenu = new Button("add MenuItem to corner"); addMenu.setOnAction(e -> { TableViewSkin skin = (TableViewSkin) table.getSkin(); TableHeaderRow header = skin.getTableHeaderRow(); ContextMenu menu = (ContextMenu) invokeGetFieldValue( TableHeaderRow.class, header, "columnPopupMenu"); ControlAcceleratorSupport.addAcceleratorsIntoScene(menu.getItems(), table); [...]
removeSelected.setOnAction(e -> eventStudio().broadcast(new RemoveSelectedEvent(), getOwnerModule())); removeSelected.setAccelerator(new KeyCodeCombination(KeyCode.DELETE)); contextMenu.getItems().add(removeSelected); selectionChangedConsumer = selectionChangedConsumer .andThen(e -> removeSelected.setDisable(e.isClearSelection())); e -> eventStudio().broadcast(new MoveSelectedEvent(MoveType.BOTTOM), getOwnerModule())); contextMenu.getItems().addAll(moveTopSelected, moveUpSelected, moveDownSelected, moveBottomSelected); duplicateItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT2, KeyCombination.ALT_DOWN)); contextMenu.getItems().add(duplicateItem);
/**Leverages tableColumn's context menu to attach filter panel */ private void attachContextMenu() { ContextMenu contextMenu = new ContextMenu(); CustomMenuItem item = FilterPanel.getInMenuItem(this, contextMenu); contextMenu.getStyleClass().add("column-filter"); contextMenu.getItems().add(item); tableColumn.setContextMenu(contextMenu); contextMenu.setOnShowing(ae -> initialize()); }
private void initBottomSectionContextMenu(ContextMenu contextMenu) { MenuItem copyItem = createMenuItem(DefaultI18nContext.getInstance().i18n("Copy to clipboard"), MaterialDesignIcon.CONTENT_COPY); copyItem.setOnAction(e -> copySelectedToClipboard()); MenuItem infoItem = createMenuItem(DefaultI18nContext.getInstance().i18n("Document properties"), MaterialDesignIcon.INFORMATION_OUTLINE); infoItem.setOnAction(e -> Platform.runLater(() -> eventStudio() .broadcast(new ShowPdfDescriptorRequest(getSelectionModel().getSelectedItem().descriptor())))); MenuItem openFileItem = createMenuItem(DefaultI18nContext.getInstance().i18n("Open"), MaterialDesignIcon.FILE_PDF_BOX); openFileItem.setOnAction(e -> eventStudio() .broadcast(new OpenFileRequest(getSelectionModel().getSelectedItem().descriptor().getFile()))); MenuItem openFolderItem = createMenuItem(DefaultI18nContext.getInstance().i18n("Open Folder"), MaterialDesignIcon.FOLDER_OUTLINE); openFolderItem.setOnAction(e -> eventStudio().broadcast( new OpenFileRequest(getSelectionModel().getSelectedItem().descriptor().getFile().getParentFile()))); copyItem.setAccelerator(new KeyCodeCombination(KeyCode.C, KeyCombination.SHORTCUT_DOWN)); infoItem.setAccelerator(new KeyCodeCombination(KeyCode.P, KeyCombination.ALT_DOWN)); openFileItem.setAccelerator(new KeyCodeCombination(KeyCode.O, KeyCombination.SHORTCUT_DOWN)); openFolderItem.setAccelerator( new KeyCodeCombination(KeyCode.O, KeyCombination.SHORTCUT_DOWN, KeyCombination.ALT_DOWN)); contextMenu.getItems().addAll(new SeparatorMenuItem(), copyItem, infoItem, openFileItem, openFolderItem); selectionChangedConsumer = selectionChangedConsumer.andThen(e -> { copyItem.setDisable(e.isClearSelection()); infoItem.setDisable(!e.isSingleSelection()); openFileItem.setDisable(!e.isSingleSelection()); openFolderItem.setDisable(!e.isSingleSelection()); }); }
protected ContextMenu createContextMenu() { final ContextMenu contextMenu = new ContextMenu(); MenuItem removeITem = new MenuItem("Remove Connection"); contextMenu.getItems().addAll(removeITem); removeITem.setOnAction((ActionEvent event) -> { controller.getConnections(type).remove(connection); }); return contextMenu; }