JavaFX,自定义价值工厂?

时间:2016-02-25 13:50:54

标签: javafx

我想创建一个自定义微调器,因此我创建了一个自定义值工厂。我现在所做的就是从SpinnerValueFactory类中复制DoubleSpinnerValueFactory,重命名它并使其成为非静态,然后添加了wrapValue函数。但是,当我尝试将它放在我的FXML而不是双精度时,我收到一个错误:sample.myValueFactory不是有效的属性。

有人能告诉我为什么会这样吗?感谢。

fxml中的微调器:

        <Spinner fx:id="spinnerRowCount" prefWidth="400.0" editable="true">
                        <valueFactory>
                            <sample.myValueFactory fx:id="spnRowCountValueFactory">
                                <min>0</min>
                                <max>100000</max>
                                <amountToStepBy>1</amountToStepBy>
                                <wrapAround>true</wrapAround>
                            </sample.myValueFactory>
                        </valueFactory>
       </Spinner>

所有内容都在样本包中。

1 个答案:

答案 0 :(得分:0)

根据FXML documentation

  

如果标签以大写字母开头(并且导入了类),则元素的标签被视为实例声明

,而

  

标记名称以小写字母开头的元素表示对象属性。

因此,遵循类中常用的Java命名约定非常重要;即以大写字母开头。此外,您应该导入类:

<?import sample.MyValueFactory?>

然后

<valueFactory>
    <MyValueFactory fx:id="spnRowCountValueFactory">