private RadioButtonGroup createCreditOrDebit () { RadioButtonGroup<Boolean> radio = new RadioButtonGroup<>(); radio.setItems(Boolean.FALSE, Boolean.TRUE); radio.addStyleName(ValoTheme.OPTIONGROUP_HORIZONTAL); ItemCaptionGenerator itemCaptionGenerator = (ItemCaptionGenerator) item -> Boolean.TRUE.equals(item) ? app.getMessage("credit") : app.getMessage("debit"); radio.setItemCaptionGenerator(itemCaptionGenerator); return radio; }
@Override protected AbstractSingleSelect<ITEM> buildInternalField(Class<? extends T> type) { RenderingMode mode = getRenderingMode(); if (mode == null) { mode = RenderingMode.SELECT; } if (mode == RenderingMode.NATIVE_SELECT) { final NativeSelect<ITEM> field = new NativeSelect<>(); field.setItemCaptionGenerator(i -> generateItemCaption(i)); field.addSelectionListener(e -> setupDescriptionFromSelection(e)); field.addSelectionListener(e -> fireSelectionListeners(buildSelectionEvent(e))); return field; } if (mode == RenderingMode.OPTIONS) { final RadioButtonGroup<ITEM> field = new RadioButtonGroup<>(); field.setItemCaptionGenerator(i -> generateItemCaption(i)); field.setItemIconGenerator(i -> generateItemIcon(i)); field.setItemDescriptionGenerator(i -> generateItemDescription(i)); field.addSelectionListener(e -> fireSelectionListeners(buildSelectionEvent(e))); return field; } final ComboBox<ITEM> field = new ComboBox<>(); field.setItemCaptionGenerator(i -> generateItemCaption(i)); field.setItemIconGenerator(i -> generateItemIcon(i)); field.addSelectionListener(e -> setupDescriptionFromSelection(e)); field.addSelectionListener(e -> fireSelectionListeners(buildSelectionEvent(e))); return field; }