Example usage for com.jgoodies.binding.adapter SpinnerAdapterFactory createNumberAdapter

List of usage examples for com.jgoodies.binding.adapter SpinnerAdapterFactory createNumberAdapter

Introduction

In this page you can find the example usage for com.jgoodies.binding.adapter SpinnerAdapterFactory createNumberAdapter.

Prototype

public static SpinnerNumberModel createNumberAdapter(ValueModel valueModel, Number defaultValue,
        Comparable<? extends Number> minValue, Comparable<? extends Number> maxValue, Number stepSize) 

Source Link

Document

Creates and returns a SpinnerNumberModel that is connected to the given ValueModel and that honors the specified minimum, maximum and step values.

Usage

From source file:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java

License:Open Source License

private void initComponents() {

    nameTextField = BasicComponentFactory
            .createTextField(presentationModel.getBufferedModel(Locomotive.PROPERTYNAME_NAME));
    nameTextField.setColumns(30);/*ww w .  j a va  2s  .  c o m*/

    descTextField = BasicComponentFactory
            .createTextField(presentationModel.getBufferedModel(Locomotive.PROPERTYNAME_DESCRIPTION));
    descTextField.setColumns(30);

    imageChoserPanel = new JPanel(new MigLayout("fill"));

    imageTextField = BasicComponentFactory
            .createTextField(presentationModel.getBufferedModel(Locomotive.PROPERTYNAME_IMAGE));
    imageTextField.setColumns(30);

    chooseImageButton = new JButton("Choose...");
    chooseImageButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            chooseLocoImage();
        }
    });

    imageChoserPanel.add(imageTextField, "grow");
    imageChoserPanel.add(chooseImageButton);

    imageLabel = new JLabel();
    imageLabel.setHorizontalAlignment(SwingConstants.CENTER);

    imageLabel.setIcon(LocomotiveImageHelper.getLocomotiveIcon(presentationModel.getBean()));

    busSpinner = new JSpinner();
    busSpinner.setModel(SpinnerAdapterFactory.createNumberAdapter(
            presentationModel.getBufferedModel(Locomotive.PROPERTYNAME_BUS), 1, // defaultValue
            0, // minValue
            100, // maxValue
            1)); // step

    address1Spinner = new JSpinner();
    address1Spinner.setModel(SpinnerAdapterFactory.createNumberAdapter(
            presentationModel.getBufferedModel(Locomotive.PROPERTYNAME_ADDRESS1), 1, // defaultValue
            0, // minValue
            324, // maxValue
            1)); // step

    address2Spinner = new JSpinner();
    address2Spinner.setModel(SpinnerAdapterFactory.createNumberAdapter(
            presentationModel.getBufferedModel(Locomotive.PROPERTYNAME_ADDRESS2), 1, // defaultValue
            0, // minValue
            324, // maxValue
            1)); // step

    final List<LocomotiveType> locomotiveTypes = Arrays.asList(LocomotiveType.values());

    final ValueModel locomotiveTypeModel = presentationModel
            .getBufferedModel(Locomotive.PROPERTYNAME_LOCOMOTIVE_TYPE);
    locomotiveTypeComboBox = BasicComponentFactory
            .createComboBox(new SelectionInList<LocomotiveType>(locomotiveTypes, locomotiveTypeModel));

    functions = new ArrayListModel<LocomotiveFunction>(presentationModel.getBean().getFunctions());
    functionsTable = new JTable();
    functionsModel = new SelectionInList<LocomotiveFunction>();
    functionsModel.setList(functions);

    functionsTable.setModel(new LocomotiveFunctionTableModel(functionsModel));
    functionsTable.getColumnModel().getColumn(0).setCellRenderer(new CenterRenderer());

    errorPanel = new ErrorPanel();

    validate(presentationModel.getBean(), null);
    presentationModel.getBean().addPropertyChangeListener(this);
    okButton = new JButton(new ApplyChangesAction());
    cancelButton = new JButton(new CancelAction());
}

From source file:ch.fork.AdHocRailway.ui.routes.configuration.RouteConfig.java

License:Open Source License

private void initComponents() {

    routeNumberModel = getBufferedModel(Route.PROPERTYNAME_NUMBER);
    routeOrientationModel = getBufferedModel(Route.PROPERTYNAME_ORIENTATION);
    routeNameModel = getBufferedModel(Route.PROPERTYNAME_NAME);

    routeNumberSpinner = new JSpinner();
    routeNumberSpinner.setModel(SpinnerAdapterFactory.createNumberAdapter(routeNumberModel, 1, // defaultValue
            0, // minValue
            1000, // maxValue
            1)); // step

    routeOrientationField = BasicComponentFactory.createTextField(routeOrientationModel);

    routeNameField = BasicComponentFactory.createTextField(routeNameModel);

    routeItemModel = new SelectionInList<RouteItem>();
    routeItemTable = new JTable();
    routeItemTable.setModel(new RouteItemTableModel(routeItemModel));
    routeItemTable.setRowHeight(30);/*from   w w w.ja v a2s . c  o m*/
    routeItemTable.setSelectionModel(new SingleListSelectionAdapter(routeItemModel.getSelectionIndexHolder()));

    routeItemModel.setList(new ArrayList<RouteItem>(presentationModel.getBean().getRoutedTurnouts()));

    final TableColumn routedStateColumn = routeItemTable.getColumnModel().getColumn(1);
    routedStateColumn.setCellRenderer(new RoutedTurnoutStateCellRenderer(routeContext.getTurnoutManager()));

    recordRouteButton = new JToggleButton(new RecordRouteAction());
    removeRouteItemButton = new JButton(new RemoveRouteItemAction());

    digitDisplay = new ThreeDigitDisplay();

    errorPanel = new ErrorPanel();

    testRouteWidget = new RouteWidget(routeContext, testRoute, true);
    testRouteWidget.connectedToRailwayDevice(
            new ConnectedToRailwayEvent(routeContext.getRailwayDeviceManager().isConnected()));
    okButton = new JButton(new ApplyChangesAction());
    cancelButton = new JButton(new CancelAction());
}

From source file:ch.fork.AdHocRailway.ui.turnouts.configuration.TurnoutConfig.java

License:Open Source License

private void initComponents() {

    numberModel = getBufferedModel(Turnout.PROPERTYNAME_NUMBER);
    descriptionModel = getBufferedModel(Turnout.PROPERTYNAME_DESCRIPTION);
    bus1Model = getBufferedModel(Turnout.PROPERTYNAME_BUS1);
    address1Model = getBufferedModel(Turnout.PROPERTYNAME_ADDRESS1);
    bus2Model = getBufferedModel(Turnout.PROPERTYNAME_BUS2);
    address2Model = getBufferedModel(Turnout.PROPERTYNAME_ADDRESS2);
    swiched1Model = getBufferedModel(Turnout.PROPERTYNAME_ADDRESS1_SWITCHED);
    switched2Model = getBufferedModel(Turnout.PROPERTYNAME_ADDRESS2_SWITCHED);
    turnoutTypeModel = getBufferedModel(Turnout.PROPERTYNAME_TURNOUT_TYPE);
    defaultStateModel = getBufferedModel(Turnout.PROPERTYNAME_DEFAULT_STATE);
    orientationModel = getBufferedModel(Turnout.PROPERTYNAME_ORIENTATION);

    numberTextField = new JSpinner();
    numberTextField.setModel(SpinnerAdapterFactory.createNumberAdapter(numberModel, 1, // defaultValue
            0, // minValue
            1000, // maxValue
            1)); // step

    descTextField = BasicComponentFactory.createTextField(descriptionModel);
    descTextField.setColumns(5);/*w ww.j  a va 2  s. c o m*/

    bus1TextField = new JSpinner();
    bus1TextField.setModel(SpinnerAdapterFactory.createNumberAdapter(bus1Model, 1, // defaultValue
            0, // minValue
            100, // maxValue
            1)); // step

    address1TextField = new JSpinner();
    address1TextField.setModel(SpinnerAdapterFactory.createNumberAdapter(address1Model, 1, // defaultValue
            0, // minValue
            324, // maxValue
            1)); // step

    bus2TextField = new JSpinner();
    bus2TextField.setModel(SpinnerAdapterFactory.createNumberAdapter(bus2Model, 0, // defaultValue
            0, // minValue
            100, // maxValue
            1)); // step

    address2TextField = new JSpinner();
    address2TextField.setModel(SpinnerAdapterFactory.createNumberAdapter(address2Model, 0, // defaultValue
            0, // minValue
            324, // maxValue
            1)); // step

    switched1Checkbox = BasicComponentFactory.createCheckBox(swiched1Model, "Inverted");

    switched2Checkbox = BasicComponentFactory.createCheckBox(switched2Model, "Inverted");

    final List<TurnoutType> turnoutTypes = Arrays.asList(TurnoutType.values());

    turnoutTypeComboBox = BasicComponentFactory
            .createComboBox(new SelectionInList<TurnoutType>(turnoutTypes, turnoutTypeModel));
    turnoutTypeComboBox.setRenderer(new TurnoutTypeComboBoxCellRenderer());
    turnoutTypeComboBox.addActionListener(new TurnoutTypeSelectionListener());

    switch (presentationModel.getBean().getType()) {
    case DEFAULT_LEFT:
    case DOUBLECROSS:
    case CUTTER:
        bus2TextField.setValue(0);
        bus2TextField.setEnabled(false);
        address2TextField.setValue(0);
        address2TextField.setEnabled(false);
        break;
    case THREEWAY:
        bus2TextField.setEnabled(true);
        address2TextField.setEnabled(true);
        break;
    default:
        break;
    }

    turnoutDefaultStateComboBox = BasicComponentFactory.createComboBox(new SelectionInList<TurnoutState>(
            new TurnoutState[] { TurnoutState.STRAIGHT, TurnoutState.LEFT }, defaultStateModel));
    turnoutDefaultStateComboBox.setRenderer(new TurnoutDefaultStateComboBoxCellRenderer());

    turnoutOrientationComboBox = BasicComponentFactory.createComboBox(
            new SelectionInList<TurnoutOrientation>(TurnoutOrientation.values(), orientationModel));

    testTurnoutWidget = new TurnoutWidget(ctx, testTurnout, false, true);
    if (!TurnoutHelper.isTurnoutReadyToTest(presentationModel.getBean())) {
        testTurnoutWidget.setEnabled(false);
    }

    testTurnoutWidget
            .connectedToRailwayDevice(new ConnectedToRailwayEvent(ctx.getRailwayDeviceManager().isConnected()));

    errorPanel = new ErrorPanel();

    okButton = new JButton(new ApplyChangesAction());
    cancelButton = new JButton(new CancelAction());
    validate(presentationModel.getBean());
}

From source file:com.stefanbrenner.droplet.ui.ActionPanel.java

License:Open Source License

/**
 * Create the panel.// www.  ja  va2s .c o  m
 */
public ActionPanel(final IActionDevice device, final T action) {

    setDevice(device);
    setAction(action);

    setLayout(new GridBagLayout());
    setBackground(DropletColors.getBackgroundColor(getDevice()));

    GridBagConstraints gbc = UiUtils.createGridBagConstraints();
    gbc.fill = GridBagConstraints.BOTH;
    gbc.insets = new Insets(2, 2, 2, 2);

    BeanAdapter<IAction> adapter = new BeanAdapter<IAction>(action, true);

    // enabled checkbox
    cbEnable = BasicComponentFactory.createCheckBox(adapter.getValueModel(IAction.PROPERTY_ENABLED),
            StringUtils.EMPTY);
    cbEnable.setToolTipText(Messages.getString("ActionPanel.enableAction.tooltip")); //$NON-NLS-1$
    cbEnable.setFocusable(false);
    UiUtils.editGridBagConstraints(gbc, 0, 0, 0, 0);
    add(cbEnable, gbc);

    // offset spinner
    spOffset = new MouseWheelSpinner(true);
    spOffset.setToolTipText(Messages.getString("ActionPanel.Offset.Tooltip")); //$NON-NLS-1$
    spOffset.setModel(SpinnerAdapterFactory.createNumberAdapter(adapter.getValueModel(IAction.PROPERTY_OFFSET),
            0, 0, ActionPanel.MAX_TIME_INPUT, 1));
    ((JSpinner.DefaultEditor) spOffset.getEditor()).getTextField().setColumns(4);
    UiUtils.editGridBagConstraints(gbc, 1, 0, 0, 0);
    add(spOffset, gbc);

    // duration spinner
    spDuration = new MouseWheelSpinner(true);
    spDuration.setToolTipText(Messages.getString("ActionPanel.Duration.Tooltip")); //$NON-NLS-1$
    if (action instanceof IDurationAction) {
        spDuration.setModel(SpinnerAdapterFactory.createNumberAdapter(
                adapter.getValueModel(IDurationAction.PROPERTY_DURATION), 0, 0, ActionPanel.MAX_TIME_INPUT, 1));
        ((JSpinner.DefaultEditor) spDuration.getEditor()).getTextField().setColumns(4);
        UiUtils.editGridBagConstraints(gbc, 2, 0, 0, 0);
        add(spDuration, gbc);
    }

    // remove button
    btnRemove = new JButton(Messages.getString("ActionPanel.removeAction")); //$NON-NLS-1$
    btnRemove.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(final ActionEvent e) {
            remove();
        }
    });
    btnRemove.setToolTipText(Messages.getString("ActionPanel.removeAction.tooltip")); //$NON-NLS-1$
    btnRemove.setFocusable(false);
    UiUtils.editGridBagConstraints(gbc, 3, 0, 0, 0);
    add(btnRemove, gbc);

}

From source file:com.stefanbrenner.droplet.ui.DropletToolbar.java

License:Open Source License

/**
 * Create the panel.//from  w ww .j a  v  a  2 s  .  co  m
 */
public DropletToolbar(final JFrame frame, final IDropletContext dropletContext) {

    this.dropletContext = dropletContext;

    setLayout(new FlowLayout(FlowLayout.RIGHT));

    // show button
    JButton btnDirect = new JButton(new ControlDevcieAction(frame, dropletContext));
    add(btnDirect);

    // show button
    JButton btnShow = new JButton(new ShowAction(frame, dropletContext));
    add(btnShow);

    // send button
    JButton btnSend = new JButton(new SendAction(frame, dropletContext));
    add(btnSend);

    BeanAdapter<IDropletContext> adapter = new BeanAdapter<IDropletContext>(dropletContext, true);

    // rounds spinner
    add(new JLabel(Messages.getString("DropletToolbar.rounds"))); //$NON-NLS-1$
    spRounds = new MouseWheelSpinner(true);
    spRounds.setModel(SpinnerAdapterFactory
            .createNumberAdapter(adapter.getValueModel(IDropletContext.PROPERTY_ROUNDS), 1, 1, 9999, 1));
    ((JSpinner.DefaultEditor) spRounds.getEditor()).getTextField().setColumns(4);
    add(spRounds);

    // round delay spinner
    add(new JLabel(Messages.getString("DropletToolbar.delay"))); //$NON-NLS-1$
    spRoundDelay = new MouseWheelSpinner(true);
    spRoundDelay.setModel(SpinnerAdapterFactory.createNumberAdapter(
            adapter.getValueModel(IDropletContext.PROPERTY_ROUND_DELAY), 1000, 0, 99999999, 1));
    ((JSpinner.DefaultEditor) spRoundDelay.getEditor()).getTextField().setColumns(8);
    updateTooltip();
    adapter.addBeanPropertyChangeListener(IDropletContext.PROPERTY_ROUND_DELAY, new PropertyChangeListener() {
        @Override
        public void propertyChange(final PropertyChangeEvent event) {
            updateTooltip();
        }
    });
    add(spRoundDelay);

    // start button
    JButton btnStart = new JButton(new StartAction(frame, dropletContext));
    add(btnStart);

    // cancel button
    JButton btnCancel = new JButton(new CancelAction(frame, dropletContext));
    add(btnCancel);

}

From source file:org.gitools.ui.app.heatmap.panel.settings.GridDetailsSection.java

License:Open Source License

public GridDetailsSection(Heatmap heatmap) {

    PresentationModel<Heatmap> model = new PresentationModel<>(heatmap);
    PresentationModel<HeatmapDimension> rows = new PresentationModel<>(model.getModel(Heatmap.PROPERTY_ROWS));
    PresentationModel<HeatmapDimension> columns = new PresentationModel<>(
            model.getModel(Heatmap.PROPERTY_COLUMNS));

    // Bind grid controls
    Bindings.bind(gridRowsColor, "color", rows.getModel(HeatmapDimension.PROPERTY_GRID_COLOR));
    Bindings.bind(gridColumnsColor, "color", columns.getModel(HeatmapDimension.PROPERTY_GRID_COLOR));
    gridRowsSize.setModel(SpinnerAdapterFactory
            .createNumberAdapter(rows.getModel(HeatmapDimension.PROPERTY_GRID_SIZE), 1, 0, 10, 1));
    gridColumnsSize.setModel(SpinnerAdapterFactory
            .createNumberAdapter(columns.getModel(HeatmapDimension.PROPERTY_GRID_SIZE), 1, 0, 10, 1));

    // Bind cell size controls
    AbstractValueModel cellSizeRowsModel = rows.getModel(HeatmapDimension.PROPERTY_CELL_SIZE);
    cellSizeRows.setModel(SpinnerAdapterFactory.createNumberAdapter(cellSizeRowsModel, 1, 1, 300, 1));
    AbstractValueModel cellSizeColumnsModel = columns.getModel(HeatmapDimension.PROPERTY_CELL_SIZE);
    cellSizeColumns.setModel(SpinnerAdapterFactory.createNumberAdapter(cellSizeColumnsModel, 1, 1, 300, 1));
    cellSizeKeepRatio.setModel(new KeepRatioModel(cellSizeRowsModel, cellSizeColumnsModel));

}

From source file:org.gitools.ui.app.heatmap.panel.settings.layer.decorators.PValueDecoratorPanel.java

License:Open Source License

@Override
public void bind() {
    Bindings.bind(minColor, "color", model(PValueDecorator.PROPERTY_MIN_COLOR));
    Bindings.bind(maxColor, "color", model(PValueDecorator.PROPERTY_MAX_COLOR));
    Bindings.bind(emptyColor, "color", model(PValueDecorator.PROPERTY_EMPTY_COLOR));
    Bindings.bind(nonColor, "color", model(PValueDecorator.PROPERTY_NON_SIGNIFICANT_COLOR));

    significance/*from w  w  w .ja v a 2  s  .  c om*/
            .setModel(SpinnerAdapterFactory.createNumberAdapter(model(PValueDecorator.PROPERTY_SIGNIFICANCE),
                    Double.valueOf(0.05), Double.valueOf(0), Double.valueOf(1), Double.valueOf(0.01)));

    Bindings.bind(showValueCheckBox, model(PValueDecorator.PROPERTY_SHOW_VALUE));
}

From source file:org.gitools.ui.app.heatmap.panel.settings.layer.decorators.PValueLogSumPanel.java

License:Open Source License

@Override
public void bind() {

    Bindings.bind(leftMinColor, "color", model(PValueLogSumDecorator.PROPERTY_LEFT_MIN_COLOR));
    Bindings.bind(leftMaxColor, "color", model(PValueLogSumDecorator.PROPERTY_LEFT_MAX_COLOR));
    Bindings.bind(rightMinColor, "color", model(PValueLogSumDecorator.PROPERTY_RIGHT_MIN_COLOR));
    Bindings.bind(rightMaxColor, "color", model(PValueLogSumDecorator.PROPERTY_RIGHT_MAX_COLOR));
    Bindings.bind(nonSigColor, "color", model(PValueLogSumDecorator.PROPERTY_NON_SIGNIFICANT_COLOR));
    Bindings.bind(emptyColor, "color", model(PValueLogSumDecorator.PROPERTY_EMPTY_COLOR));

    JFormattedTextField.AbstractFormatterFactory formatter = DecoratorPanelFormatters.getTenDecimalsFormatter();
    Bindings.bind(limit, model(PValueLogSumDecorator.PROPERTY_LIMIT));
    limit.setFormatterFactory(formatter);

    significance.setModel(//from w ww . j a v a2s  . co  m
            SpinnerAdapterFactory.createNumberAdapter(model(PValueLogSumDecorator.PROPERTY_SIGNIFICANCE),
                    Double.valueOf(0.05), Double.valueOf(0), Double.valueOf(1), Double.valueOf(0.01)));
    Bindings.bind(translatedSig, model(PValueLogSumDecorator.PROPERTY_SIGNIFICANCE_TRANSLATION));

    Bindings.bind(showValueCheckBox, model(PValueLogSumDecorator.PROPERTY_SHOW_VALUE));
}

From source file:org.gitools.ui.app.heatmap.panel.settings.layer.decorators.ZScoreDecoratorPanel.java

License:Open Source License

@Override
public void bind() {

    Bindings.bind(leftMinColor, "color", model(ZScoreDecorator.PROPERTY_LEFT_MIN_COLOR));
    Bindings.bind(leftMaxColor, "color", model(ZScoreDecorator.PROPERTY_LEFT_MAX_COLOR));
    Bindings.bind(rightMinColor, "color", model(ZScoreDecorator.PROPERTY_RIGHT_MIN_COLOR));
    Bindings.bind(rightMaxColor, "color", model(ZScoreDecorator.PROPERTY_RIGHT_MAX_COLOR));
    Bindings.bind(nonSigColor, "color", model(ZScoreDecorator.PROPERTY_NON_SIGNIFICANT_COLOR));
    Bindings.bind(emptyColor, "color", model(ZScoreDecorator.PROPERTY_EMPTY_COLOR));

    JFormattedTextField.AbstractFormatterFactory formatter = DecoratorPanelFormatters.getTenDecimalsFormatter();
    Bindings.bind(halfAmplitude, model(ZScoreDecorator.PROPERTY_HALF_AMPLITUD));
    halfAmplitude.setFormatterFactory(formatter);

    significance//from  www  .jav  a 2 s  .  com
            .setModel(SpinnerAdapterFactory.createNumberAdapter(model(ZScoreDecorator.PROPERTY_SIGNIFICANCE),
                    Double.valueOf(0.05), Double.valueOf(0), Double.valueOf(1), Double.valueOf(0.01)));

    Bindings.bind(translatedSignificance, model(ZScoreDecorator.PROPERTY_SIG_HALF_AMPLITUD));

    Bindings.bind(showValueCheckBox, model(ZScoreDecorator.PROPERTY_SHOW_VALUE));
}