【问题标题】:Get the exact jSpinner Value获取准确的 jSpinner 值
【发布时间】:2015-05-13 07:58:00
【问题描述】:

谁能告诉我如何从 jSpinner 获得确切的值? 这是用户选择时间时我的 jSpinner 的显示方式:

但是,当我将 jSpinner 值传递给文本字段时,它看起来像这样:

这是我的代码:

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

这是我的 jSpinner 模型:

任何帮助将不胜感激。提前致谢! 对不起,如果我的问题看起来很愚蠢。新手来了:)

【问题讨论】:

  • 我检查了代码。工作正常..什么问题?您想在哪个事件上将其显示在文本字段上。??
  • 嗨 @NiRRaNjANRauT ,我想要上午 1:00 而不是上午 1:0。我想在触发提交按钮时显示在文本字段上。谢谢
  • 你设置为JSpinnermodel...表示DefaultModel或任何其他...
  • 我已将其设置为数字。我将编辑我的问题并添加模型的屏幕截图。

标签: java netbeans time jspinner


【解决方案1】:

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

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

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

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

这样你将把整数值显示为前导 0 的 2 位数字。

【讨论】:

  • 您好,谢谢您的回答。但第一个答案对我有用。我感谢您的帮助。十分感谢! :)
【解决方案2】:

将此函数添加到您的程序中..

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();

【讨论】:

  • 我会试试的。谢谢你。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 2021-04-19
  • 1970-01-01
相关资源
最近更新 更多