javafx.scene.control.Spinner#setValueFactory ( )源码实例Demo

下面列出了javafx.scene.control.Spinner#setValueFactory ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: marathonv5   文件: SpinnerSample.java
private Spinner<Object> createListSpinner() {
    Spinner<Object> spinner = new Spinner<>();
    spinner.setId("list-spinner");
    List<Object> names = new ArrayList<Object>();
    names.add("January");
    names.add("February");
    names.add("March");
    names.add("April");
    names.add("May");
    names.add("June");
    names.add("July");
    names.add("August");
    names.add("September");
    names.add("October");
    names.add("November");
    names.add("December");
    spinner.setValueFactory(new SpinnerValueFactory.ListSpinnerValueFactory<Object>(FXCollections.observableArrayList(names)));
    return spinner;
}
 
源代码2 项目: kafka-message-tool   文件: ValidatorUtils.java
public static void configureSpinner(Spinner<Integer> spinner, IntegerProperty referenceProperty, int minValue, int maxValue) {
    spinner.setEditable(true);
    spinner.setTooltip(TooltipCreator.createFrom("Max value: " + maxValue));
    spinner.setValueFactory(new SpinnerValueFactory.IntegerSpinnerValueFactory(minValue,
                                                                               Integer.MAX_VALUE,
                                                                               referenceProperty.get()));
    GuiUtils.configureTextFieldToAcceptOnlyValidData(spinner.getEditor(),
                                                     stringConsumer(referenceProperty),
                                                     validationFunc(maxValue));
    configureTextFieldToAcceptOnlyDecimalValues(spinner.getEditor());
}
 
源代码3 项目: marathonv5   文件: SpinnerSample.java
private Spinner<Double> createDoubleSpinner() {
    Spinner<Double> spinner = new Spinner<Double>();
    spinner.setId("double-spinner");
    spinner.setValueFactory(new SpinnerValueFactory.DoubleSpinnerValueFactory(25.50, 50.50));
    spinner.setEditable(true);
    return spinner;
}
 
源代码4 项目: phoebus   文件: SpinnerDemo.java
@Override
public void start(final Stage stage)
{
    final Label label = new Label("Demo:");

    SpinnerValueFactory<Double> svf = new SpinnerValueFactory.DoubleSpinnerValueFactory(0, 1000);
    Spinner<Double> spinner = new Spinner<>();
    spinner.setValueFactory(svf);
    spinner.editorProperty().getValue().setStyle("-fx-text-fill:" + "black");
    spinner.editorProperty().getValue().setBackground(
            new Background(new BackgroundFill(Color.AZURE, CornerRadii.EMPTY, Insets.EMPTY)));


    //spinner.getStyleClass().add(Spinner.STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL);
    //int x = spinner.getStyleClass().indexOf(Spinner.STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL);
    //if (x > 0) spinner.getStyleClass().remove(x);

    spinner.setEditable(true);
    spinner.setPrefWidth(80);

    spinner.valueProperty().addListener((prop, old, value) ->
    {
        System.out.println("Value: " + value);
    });

    final HBox root = new HBox(label, spinner);

    final Scene scene = new Scene(root, 800, 700);
    stage.setScene(scene);
    stage.setTitle("Spinner Demo");

    stage.show();
}
 
源代码5 项目: phoebus   文件: DateTimePane.java
private static Spinner<Integer> createSpinner(final int max, final Spinner<Integer> next)
{
    final Spinner<Integer> spinner = new Spinner<>(0, max, 0);
    spinner.getStyleClass().add(Spinner.STYLE_CLASS_SPLIT_ARROWS_VERTICAL);
    spinner.setEditable(true);
    spinner.setValueFactory(new WraparoundValueFactory(0, max, next == null ? null : next.getValueFactory()));
    spinner.getValueFactory().setConverter(WraparoundValueFactory.TwoDigitStringConverter);
    spinner.setPrefWidth(45);
    return spinner;
}
 
源代码6 项目: phoebus   文件: TemporalAmountPane.java
private static Spinner<Integer> createSpinner(final int max, final Spinner<Integer> next)
{
    final Spinner<Integer> spinner = new Spinner<>(0, max, 0);
    spinner.setEditable(true);
    spinner.setValueFactory(new WraparoundValueFactory(0, max, next == null ? null : next.getValueFactory()));
    spinner.getValueFactory().setConverter(WraparoundValueFactory.TwoDigitStringConverter);
    spinner.getValueFactory().setValue(0);
    spinner.setPrefWidth(65);
    return spinner;
}
 
源代码7 项目: marathonv5   文件: SpinnerSample.java
private Spinner<Integer> createIntegerSpinner() {
    Spinner<Integer> spinner = new Spinner<>();
    spinner.setId("integer-spinner");
    spinner.setValueFactory(new SpinnerValueFactory.IntegerSpinnerValueFactory(0, 50));
    return spinner;
}
 
源代码8 项目: phoebus   文件: SpinnerRepresentation.java
@Override
protected final Spinner<String> createJFXNode() throws Exception
{
    final Spinner<String> spinner = new Spinner<>();
    spinner.setValueFactory(createSVF());
    styleChanged(null, null, null);
    spinner.setMinSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
    spinner.focusedProperty().addListener((property, oldval, newval)->
    {
        if (!spinner.isFocused())
            restore();
        active = false;
    });
    spinner.getEditor().setOnKeyPressed((final KeyEvent event) ->
    {
        switch (event.getCode())
        {
        case ESCAPE: //TODO: fix: escape key event not sensed
            // Revert original value, leave active state
            restore();
            active = false;
            break;
        case ENTER:
            // Submit value, leave active state
            submit();
            active = false;
            break;
        //incrementing by keyboard
        case UP:
        case PAGE_UP:
            if (!active)
                jfx_node.getValueFactory().increment(1);
            break;
        case DOWN:
        case PAGE_DOWN:
            if (!active)
                jfx_node.getValueFactory().decrement(1);
            break;
        default:
            // Any other key results in active state
            active = true;
        }
    });

    // Disable the contemporary triggering of a value change and of the
    // opening of contextual menu when right-clicking on the spinner's
    // buttons.
    spinner.addEventFilter(MouseEvent.ANY, e ->
    {
        if (e.getButton() == MouseButton.SECONDARY)
            e.consume();
    });

    // This code manages layout,
    // because otherwise for example border changes would trigger
    // expensive Node.notifyParentOfBoundsChange() recursing up the scene graph
    spinner.setManaged(false);

    return spinner;
}