public class FooController { @FXML MenuButton menuButton; public void initialize() { menuButton.getItems().addAll( FXCollections.observableArrayList( new CheckMenuItem("T1"), new CheckMenuItem("T1C"), new CheckMenuItem("T2") ) ); } }
CheckMenuItem item = new CheckMenuItem(); Tab t = new Tab(); t.getGraphic().visibleProperty().bind(item.selectedProperty());
Menu contextMenu = new Menu(); MenuItem editLabel = new MenuItem(); editLabel.setText("Edit Label..."); editLabel.addSelectionHandler(event -> editLabel(dim.getModel())); contextMenu.add(editLabel); contextMenu.add(new SeparatorMenuItem()); DateLevel currentLevel = dim.getModel().getDateLevel().orElse(null); for (DateLevel dateLevel : DateLevel.values()) { CheckMenuItem item = new CheckMenuItem(dateLevel.getLabel()); item.setChecked(currentLevel == dateLevel); item.addSelectionHandler(event -> updateDateLevel(dim, dateLevel)); contextMenu.add(item); contextMenu.add(new SeparatorMenuItem()); CheckMenuItem totalsItem = new CheckMenuItem("Include Totals"); totalsItem.setChecked(dim.getModel().getTotals()); totalsItem.addCheckChangeHandler(event -> updateTotals(dim, event.getChecked())); totalsItem.setEnabled(canTotal); contextMenu.add(totalsItem); CheckMenuItem missingItem = new CheckMenuItem("Include Missing"); missingItem.setChecked(dim.getModel().getMissingIncluded()); missingItem.addCheckChangeHandler(event -> updateMissing(dim, event.getChecked())); missingItem.setEnabled(canTotal);
private void showMenu(Element element, MeasureListItem item) { MeasureModel measure = item.getModel(); Menu contextMenu = new Menu(); // Edit the alias MenuItem editLabel = new MenuItem(); editLabel.setText("Edit Label..."); editLabel.addSelectionHandler(event -> editLabel(measure)); contextMenu.add(editLabel); // Edit the formula... MenuItem editFormula = new MenuItem(); editFormula.setText("Edit Formula..."); editFormula.addSelectionHandler(event -> editFormula(measure)); contextMenu.add(editFormula); contextMenu.add(new SeparatorMenuItem()); // Choose the aggregation for (Statistic statistic : Statistic.values()) { CheckMenuItem aggregationItem = new CheckMenuItem(statistic.getLabel()); aggregationItem.setChecked(measure.getStatistics().contains(statistic)); aggregationItem.addCheckChangeHandler(event -> updateStatistic(measure, statistic, event.getChecked())); contextMenu.add(aggregationItem); } contextMenu.add(new SeparatorMenuItem()); // Remove the dimension MenuItem remove = new MenuItem(); remove.setText(I18N.CONSTANTS.remove()); remove.addSelectionHandler(event -> removeMeasure(measure.getId())); contextMenu.add(remove); contextMenu.show(element, new Style.AnchorAlignment(Style.Anchor.BOTTOM, Style.Anchor.BOTTOM, true)); }
public SystemMenu(AppCache appCache) { MenuItem versionItem = new MenuItem(); versionItem.setText(I18N.CONSTANTS.appVersion() + " " + appCache.getCurrentVersion()); versionItem.setHideOnClick(false); appCacheStatusItem = new MenuItem(); appCacheStatusItem.addSelectionHandler(this::loadUpdatedAppCache); MenuItem logoutItem = new MenuItem(); logoutItem.setText(I18N.CONSTANTS.logout()); logoutItem.addSelectionHandler(this::logout); Menu menu = new Menu(); menu.add(versionItem); menu.add(appCacheStatusItem); menu.add(new SeparatorMenuItem()); menu.add(logoutItem); icon = new InlineHTML(ChromeBundle.BUNDLE.settingsIcon().getText()); icon.addStyleName(ChromeBundle.BUNDLE.style().appBarButton()); icon.addClickHandler(event -> menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM))); icon.addClickHandler(event -> appCache.checkForUpdates()); appCache.getStatus().subscribe(this::updateAppCacheView); }
public OfflineMenu(HttpBus bus, OfflineStore offlineStore) { this.offlineStore = offlineStore; pendingChangesItem = new MenuItem(); pendingChangesItem.setHideOnClick(false); syncNowItem = new MenuItem(I18N.CONSTANTS.syncNow()); syncNowItem.addSelectionHandler(event -> offlineStore.syncChanges()); clearMenuItem = new MenuItem(I18N.CONSTANTS.clearOfflineMode()); clearMenuItem.addSelectionHandler(this::confirmOfflineDelete); Menu menu = new Menu(); menu.add(pendingChangesItem); menu.add(new SeparatorMenuItem()); menu.add(syncNowItem); menu.add(new SeparatorMenuItem()); menu.add(clearMenuItem); icon = new InlineHTML(ChromeBundle.BUNDLE.offlineIcon().getText()); icon.addStyleName(ChromeBundle.BUNDLE.style().appBarButton()); icon.setVisible(false); icon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } }); offlineStore.getOfflineForms().subscribe(this::onOfflineFormSetChanged); offlineStore.getStatus().subscribe(this::onStatusChanged); }
protected void onItemContextMenu(final M item, int x, int y) { if (closeMenu) { if (closeContextMenu == null) { closeContextMenu = new Menu(); closeContextMenu.addHideHandler(new HideHandler() { closeContextMenu.add(new MenuItem(getMessages().closeTab(), new SelectionHandler<MenuItem>() { @Override public void onSelection(SelectionEvent<MenuItem> event) { closeContextMenu.add(new MenuItem(getMessages().closeOtherTabs(), new SelectionHandler<MenuItem>() { @Override public void onSelection(SelectionEvent<MenuItem> event) { MenuItem mi = (MenuItem) closeContextMenu.getWidget(0); mi.setEnabled(c.isClosable()); contextMenuItem = item; boolean hasClosable = false; MenuItem m = (MenuItem) closeContextMenu.getWidget(1); m.setEnabled(hasClosable); closeContextMenu.showAt(x, y);
public LocaleSelector() { Menu menu = new Menu(); for (final ApplicationLocale applicationLocale : ApplicationLocale.values()) { CheckMenuItem menuItem = new CheckMenuItem(applicationLocale.getLocalizedName()); menuItem.setChecked(isCurrent(applicationLocale)); menuItem.setGroup("lang"); menuItem.addSelectionHandler(selectionEvent -> switchLocale(applicationLocale)); menu.add(menuItem); } String currentLocaleCode = LocaleInfo.getCurrentLocale().getLocaleName().toUpperCase(); icon = new HTML(); icon.addStyleName(ChromeBundle.BUNDLE.style().localeIcon()); icon.addStyleName(ChromeBundle.BUNDLE.style().appBarButton()); icon.setText(currentLocaleCode); icon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } }); }
/** * Creates a context menu for the given column, including sort menu items and column visibility sub-menu. * * @param colIndex the column index * @return the context menu for the given column */ protected Menu createContextMenu(final int colIndex) { final Menu menu = new Menu(); if (cm.isSortable(colIndex)) { MenuItem item = new MenuItem(); item.setText(DefaultMessages.getMessages().gridView_sortAscText()); item.setIcon(header.getAppearance().sortAscendingIcon()); item.addSelectionHandler(event -> doSort(colIndex, SortDir.ASC)); menu.add(item); item = new MenuItem(); item.setText(DefaultMessages.getMessages().gridView_sortDescText()); item.setIcon(header.getAppearance().sortDescendingIcon()); item.addSelectionHandler(event -> doSort(colIndex, SortDir.DESC)); menu.add(item); item = new MenuItem(); item.setText(I18N.CONSTANTS.clearSort()); item.addSelectionHandler(event -> fireEvent(new SortChangeEvent())); menu.add(item); } return menu; }
@Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } });
import com.sun.javafx.scene.control.skin.TextFieldSkin; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.stage.Stage; public class GiveMeContext extends Application { @Override public void start(final Stage stage) throws Exception { TextField textField = new TextField(); TextFieldSkin customContextSkin = new TextFieldSkin(textField) { @Override public void populateContextMenu(ContextMenu contextMenu) { super.populateContextMenu(contextMenu); contextMenu.getItems().add(0, new SeparatorMenuItem()); contextMenu.getItems().add(0, new MenuItem("Register")); } }; textField.setSkin(customContextSkin); stage.setScene(new Scene(textField)); stage.show(); } public static void main(String[] args) throws Exception { launch(args); } }
private void updateAppCacheView(Observable<AppCache.Status> status) { appCacheStatusItem.setText(statusMessage(status.get())); appCacheStatusItem.setEnabled(status.get() == AppCache.Status.UPDATE_READY); }
private void onDatePickerSelected(SelectEvent event) { FieldInput input = input(); if(input.getState() == FieldInput.State.VALID) { PeriodValue value = (PeriodValue) input.getValue(); dateMenu.getDatePicker().setValue(value.asInterval().getStartDate().atMidnightInMyTimezone()); } else { dateMenu.getDatePicker().setValue(new Date()); } dateMenu.show(pickButton); }
private void updatePendingCountIcon(int count) { Element countElement = Document.get().getElementById("pending-count"); countElement.setInnerText(Integer.toString(count)); pendingChangesItem.setText(I18N.MESSAGES.pendingChanges(count)); }
private void onDatePicked(ValueChangeEvent<Date> event) { LocalDate date = new LocalDate(event.getValue()); dateMenu.hide(); updater.update(new FieldInput(periodType.containingDate(date))); }
CheckMenuItem checkMenuItem1 = new CheckMenuItem("ID Search"); CheckMenuItem checkMenuItem2 = new CheckMenuItem("Date Search"); MenuButton menuButton = new MenuButton(); menuButton.setGraphic(new ImageView(new Image(getClass().getResource("path.fileExtension").toExternalForm()))); menuButton.getItems().addAll(checkMenuItem1,checkMenuItem2);
@Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } });
private List<MenuItem> createDefaultMenuItems(TextInputControl t) { MenuItem cut = new MenuItem("Cut"); cut.setOnAction(e -> t.cut()); MenuItem copy = new MenuItem("Copy"); copy.setOnAction(e -> t.copy()); MenuItem paste = new MenuItem("Paste"); paste.setOnAction(e -> t.paste()); MenuItem delete = new MenuItem("Delete"); delete.setOnAction(e -> t.deleteText(t.getSelection())); MenuItem selectAll = new MenuItem("Select All"); selectAll.setOnAction(e -> t.selectAll()); BooleanBinding emptySelection = Bindings.createBooleanBinding(() -> t.getSelection().getLength() == 0, t.selectionProperty()); cut.disableProperty().bind(emptySelection); copy.disableProperty().bind(emptySelection); delete.disableProperty().bind(emptySelection); return Arrays.asList(cut, copy, paste, delete, new SeparatorMenuItem(), selectAll); }
CheckMenuItem item1 = new CheckMenuItem("item1"); CheckMenuItem item2 = new CheckMenuItem("item2"); CheckMenuItem item3 = new CheckMenuItem("item3"); CheckMenuItem item4 = new CheckMenuItem("item4"); list.addAll(item1,item2,item3,item4); menuButton.getItems().addAll(list);