JavaFX组合框设置值?

JavaFX combo box start value?

我很好奇是否有办法为组合框设置起始值,使其不从最高值开始。例如,我有一个名为 cbCurrentWeight 的组合框,其值范围从 10 一直到 999。我不希望 99% 的用户必须滚动 100-200 个数字才能 select 他们的体重。我希望组合框从 100 开始,可以选择从那里升高或降低。

我也不想为此组合框设置默认值。

我是否最好只使用 TextField 并添加参数以确保用户输入有效号码?

如果您想走简单的路线,带输入验证的 TextField 可能是最好的选择。

您可以做的另一件事是创建您自己的版本。在显示数字 100 的地方,旁边有一个 (+/-) 按钮,每次用户单击该按钮时,您都会 increment/decrement 该值。您甚至可以为步长添加 TextField,这样用户就可以一次增加 20 磅或 5 磅。

这绝对可行,这是代码:

combo.getSelectionModel().select(90);

这将使组合框本身设置为第 90 个选项。假设您的值顺序为 10-999,这将使您的组合框将自身设置为 100 选项。

当你打电话时

combo.getSelectionModel().

您可以通过以下不同方式修改组合框选择:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/SingleSelectionModel.html

我决定简单地将值更改为最小 50 磅。不过,微调器选项很棒,我让它工作了。我只是更喜欢 ComboBox 的视图。