如何在SceneBuilder 8中配置javafx数字微调器

时间:2015-07-03 22:11:15

标签: javafx scenebuilder

我知道在FXML中可以这样做:

<Spinner fx:id="spinner" min="0" max="100" initialValue="3" >
  <editable>true</editable>
</Spinner>

但我无法找到在sceneBuilder中如何做到这一点

2 个答案:

答案 0 :(得分:1)

Spinner是在JavaFX 8中引入的。它没有样式处理,就像现在实现的Slider一样,因此SceneBuilder不知道可设置样式的属性。

比较Spinner和Slider源代码,Spinner中缺少一个嵌套的StyleableProperties类。

答案 1 :(得分:1)

我遇到了同样的问题,我没有在Scene Build中找到Spinner,而是手动放入了Scenne Builder。这是我的代码。

  1. 我修改了.fxml文档,将Spinner放入窗格。

    <Pane fx:id="paneTamano" layoutX="527.0" layoutY="46.0" prefHeight="125.0" prefWidth="141.0" stylesheets="@css.css">
        <children>
            <Spinner fx:id="spinnerTamano" layoutX="17.0" layoutY="49.0" onMouseClicked="#tamano" prefHeight="25.0" prefWidth="110.0" />
        </children>
    </Pane>
    
  2. 我在DocumentController.java中创建了一个ObservableList,为微调器提供值。

    ObservableList<String> listaTamanos = FXCollections.observableArrayList("Grande", "Mediana", "Pequeña");
    
  3. 最后将值插入Spinner。

    SpinnerValueFactory<String> valueFactory = new SpinnerValueFactory.ListSpinnerValueFactory<String>(listaTamanos);        
    spinnerTamano.setValueFactory(valueFactory);        
    valueFactory.setValue("Pequeña");