我想在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()函数?
答案 0 :(得分:2)
@ user2279774:使用用户定义的值设置jSpinner。这将是我所知道的唯一方式..例如:
String[] colors = new String[] {
"Red", "Orange", "Yellow", "Green", "Blue"," ", "Purple"
};
SpinnerListModel model = new SpinnerListModel(colors);
答案 1 :(得分:1)
如果没有使用Number Formatter的JFormattedTextField进行肮脏的黑客攻击,那么这个默认值就是数字实例中的任何数字但是当我调用getValue()函数时它返回0.0。
我想在jSpinner为空时取空值
在JSpinner返回double.valueOf(0.0)
的情况下,返回null(错误的想法,因为数字应该用于计算)对象a = getTextField(jValueNum).getValue();
JSpinner也可以这样做,没有理由使用派生编辑器进行返回
答案 2 :(得分:0)
检查您设置的微调器模型。可能你已经设置了SpinnerNumberModel。尝试使用SpinnerDataModel并以字符串格式设置所有值。
它将返回为object配置的编辑器(JFormattedTextField),您将获得null作为值。 :)