如何获取 JSpinner 最小值和最大值以设置随机值

How to get JSpinner min and max values in order to set a random value

我有一个函数将使用 JSpinner.setValue() 在微调器的范围内分配一个随机值。当然,我需要知道微调器的最小值和最大值,它们已经分配。此时,我循环遍历整个微调器以确定这些值。有没有更好的方法找到它们?像

JSpinner.getModel().getMaxValue();

我已经通读过类似的问题,包括这个问题:JSpinner get Max Min Value,但它没有回答我的问题。感谢任何帮助。

我假设你在谈论数值。在这种情况下,您应该使用 NumberSpinnerModel - 这个 class 已经有您请求的方法:getMaximum()getMinimum().

JSpinner.getModel() returns SpinnerModel 因此您必须将其转换为 SpinnerNumberModel。如果您真的将此模型与微调器一起使用,这是当然的 - 否则转换将失败。

这是从 JSpinner 获取 min/max 值的示例,其中 min/max 值已设置为 Double 值。

// Get Minimum and Maximum values from jSpinner's Model 
    double max = (Double) ((SpinnerNumberModel)    jSpinner.getModel()).getMaximum();//MAX_ALLOWED
    double min = (Double) ((SpinnerNumberModel) jSpinner.getModel()).getMinimum();//LOWEST_ALLOWED