【问题标题】:JavaFX Spinner - How to set min, max and value later in the code?JavaFX Spinner - 如何在代码中稍后设置最小值、最大值和值?
【发布时间】:2022-02-08 05:24:26
【问题描述】:

比如说,你正在实现分页。 Spinner 可能已在屏幕的初始化部分初始化并添加到 HBox 或类似内容中。检索数据后,只有您会知道需要多少页,并且据此只能设置微调器的最小值和最大值。我找不到重新初始化或稍后设置这些的方法。我是不是看用法不对?

【问题讨论】:

  • 如何阅读 api 文档 ;) 和每个问题一个问题
  • 提示:微调器由 spinnerValueFactory 支持
  • 我在 API 文档中花了几个小时。这不是在初始化后设置它。不知道你为什么降级这个问题。如果你知道一个 API 文档回答它,请分享。我在看oracle doc。另外,我可以删除对齐的第二个问题并提出一个单独的问题,但是这个想法与它有点相关,因为当您设置左右按钮来移动微调器时,您会期望文本位于中心 -事实并非如此 - 并且找不到对齐属性。
  • @kleopatra - 我再次验证了文档 - 设置微调器的最小值和最大值的唯一方法是在初始化时。值工厂可用于设置值(如当前值),但在文档中不清楚如何设置其最小值和最大值,因为我们稍后会弄清楚。我可以找到很多构造函数,但没有别的。
  • 规则是每个问题一个问题,期间。请阅读如何询问帮助页面以了解原因(提示:关注焦点的不是您,而是未来的读者;)

标签: javafx spinner


【解决方案1】:

终于弄明白了:感谢@kleopatra 的提示:

如果你有一个整数微调器,你可以设置:

spinner.setValueFactory(
    new SpinnerValueFactory.IntegerSpinnerValueFactory(
        min, 
        max
    )
);

最小值和最大值在后面的代码中决定。

如果你愿意,你也可以在构造函数中添加一个可选的第三个参数来设置值。

上面的代码完成了这项工作。可能对某人有帮助。

【讨论】:

  • “我仍然找不到如何对齐文本” -> 然后问一个关于对齐的新问题,其中包括您尝试过的minimal reproducible example
  • 当然可以。我已经从原始问题中删除了第二个问题。我不知道每个问题规则的一个问题。干杯。
猜你喜欢
  • 2020-06-29
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
相关资源
最近更新 更多