JSpinner获取空值

时间:2013-05-15 12:11:54

标签: java swing isnull jspinner jformattedtextfield

我想在JSpinner为空时取空值。但是当我调用0.0函数时,它会返回getValue()

  public JFormattedTextField getTextField(JSpinner spinner) {
    JComponent editor = spinner.getEditor();
    if (editor instanceof JSpinner.DefaultEditor) {
        return ((JSpinner.DefaultEditor)editor).getTextField();
    } else {
        return null;
    }
}

这是我的方法调用:

Object a = getTextField(jValueNum).getValue();

编辑:或者有没有办法OverLoad     getValue()函数?

3 个答案:

答案 0 :(得分:2)

@ user2279774:使用用户定义的值设置jSpinner。这将是我所知道的唯一方式..例如:

String[] colors = new String[] {
                "Red", "Orange", "Yellow", "Green", "Blue","  ", "Purple"
        };
        SpinnerListModel model = new SpinnerListModel(colors);

答案 1 :(得分:1)

  

但是当我调用getValue()函数时它返回0.0。

如果没有使用Number Formatter的JFormattedTextField进行肮脏的黑客攻击,那么这个默认值就是数字实例中的任何数字

  

我想在jSpinner为空时取空值

在JSpinner返回double.valueOf(0.0)

的情况下,返回null(错误的想法,因为数字应该用于计算)
  

对象a = getTextField(jValueNum).getValue();

JSpinner也可以这样做,没有理由使用派生编辑器进行返回

答案 2 :(得分:0)

检查您设置的微调器模型。可能你已经设置了SpinnerNumberModel。尝试使用SpinnerDataModel并以字符串格式设置所有值。

它将返回为object配置的编辑器(JFormattedTextField),您将获得null作为值。 :)