【问题标题】:Is there any way to make JavaFX spinner repeat its value range when hitting the lowest/highest value?有没有办法让 JavaFX 微调器在达到最低/最高值时重复其值范围?
【发布时间】:2023-02-13 20:31:01
【问题描述】:

有没有办法让 JavaFX 微调器在达到最低/最高值时重复其值范围? 例如,这里我有最小值 1、最大值 5、初始值 3 的 Spinner:

Spinner spinner = new Spinner(1, 5, 3);

我需要的是,当我到达数字 1 并按下向下箭头时,数字 5 出现,当我按下向上箭头时,数字 1 出现。

我想知道何时按下箭头并在需要时编辑值,但我认为可能有一些属性或其他一些更简单的方法可以自动执行此操作,但找不到任何。

非常感谢。

【问题讨论】:

  • 您是否尝试将 wrap around 属性设置为 true?
  • @matt 非常感谢。我不知道有一个选项可以在 Spinner 上使用 ValueFactory,所以你的解决方案对我有用。 JavaFX 对我来说仍然是新事物,我很难理解它的某些机制。

标签: javafx javafx-8 spinner


【解决方案1】:

所以,我认为总结一下并发布我需要的确切答案是个好主意。

要创建具有环绕值的 JavaFX Spinner,我必须这样做:

SpinnerValueFactory<Integer> valueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 5, 3);
valueFactory.setWrapAround(true);
Spinner<Integer> spinner = new Spinner<>();
spinner.setValueFactory(valueFactory);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    相关资源
    最近更新 更多