/ / JSpinner получава нулева стойност - java, swing, isnull, jspinner, jformattedtextfield

JSpinner получава нулева стойност - 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();

Редактиране: или има някакъв начин да прехвърлите функцията getValue ()?

Отговори:

2 за отговор № 1

@ user2279774: Задайте jSpinner с потребителски дефинирани стойности. Това ще бъде само начин, който знам ..

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

1 за отговор № 2

Но той връща 0.0, когато се обадя getValue () функция.

съвсем не е възможно без мръсен хак за JFormattedTextField с числово форматиране, има стойност по подразбиране независимо от числото

Искам да взема нулеви стойности, когато jSpinner е празен

return null (грешна идея, защото номерът трябва да се използва за изчисления) в случай, че JSpinner връща double.valueOf (0.0)

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

JSpinner също може да направи това, няма причина да използва извлечения редактор за връщане


0 за отговор № 3

Проверете какъв модел въртящ се инструмент сте задали. Вероятно сте задали SpinnerNumberModel. Опитайте с SpinnerDataModel и задайте всички стойности в низ.

Ще се върне редактор (JFormattedTextField), който е конфигуриран за обект и ще получите null като стойност. :)