获取确切的jSpinner值

时间:2015-05-13 07:58:00

标签: java netbeans time jspinner

有人可以告诉我如何从jSpinner获取确切的值? 以下是用户选择时间时我的jSpinner的显示方式: enter image description here

但是,当我将jSpinner值传递给textfield时,它显示如下:enter image description here

这是我的代码:

timeout1 = spnrTOH1.getValue()+":"+spnrTOM1.getValue()+" "+spnrTOA1.getValue();

这是我的jSpinner模型: enter image description here

非常感谢任何帮助。提前致谢! 对不起,我的问题似乎很愚蠢。新手在这里。 :)

2 个答案:

答案 0 :(得分:2)

它与微调器及其模型无关。

您需要将字符串格式化为前导零。由于spiner的渲染器格式化过程,精确值为00时,微调器显示0。渲染器是一个组件,负责显示模型所持有的GUI值。例如。自定义渲染器可以将整数显示为罗马数字。

要格式化输出,只需使用String#format方法:

timeout1 = String.format("%02d:%02d %s",spnrTOH1.getValue(),spnrTOM1.getValue(),spnrTOA1.getValue());

这样,您将显示整数值为2位数字,前导为0。

答案 1 :(得分:1)

将此功能添加到您的程序中..

public String getString(Object object) {
    int number = Integer.parseInt(object.toString().trim());
    if(number < 10) {
        return "0" + number;
    }
    return String.valueOf(number);
}

并在必须将值设置为文本字段(如

)时调用此方法
timeout1 = getString(spnrTOH1.getValue())+":"+getString(spnrTOM1.getValue())+" "+spnrTOA1.getValue();