Это действительно сбивает с толку. У меня есть набор из JSpinner
компонентов в моем приложении, и все они работают нормально. У меня есть их модели, которые должны быть рядом целочисленных значений. Они объявлены следующим образом:JSpinner возвращает неправильный тип
spinner1 = new javax.swing.JSpinner();
spinner1.setModel(new javax.swing.SpinnerNumberModel(10, 0, 10, 1));
Когда мне нужно их значения в коде, я позвоню getValue()
который возвращает объект, и я бросил его как целое, как так:
int importantVal = (Integer)spinner1.getValue();
И это работает отлично. По какой-то причине я сделал новый JSpinner, с точно такой же SpinnerNumberModel, но я получаю сообщение об ошибке:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:
java.lang.Float cannot be cast to java.lang.Integer
Это дает мне обратно поплавок по какой-то причине. Я подтвердил, что модель такая же, я попытался скопировать и вставить рабочий JSpinner в эту новую роль и совместить имя, но у меня все еще такая же проблема. Из любопытства я попытался изменить строку, где у меня есть эта ошибка, чтобы вместо нее использовать ее как Float, а затем я получаю обратную ошибку: она возвращает Integer, и теперь я пытаюсь использовать ее как float.
Зачем ему это делать, и как он мог возвратить поплавок? Я даже попытался установить модель, используя new SpinnerNumberModel(new Integer(10), new Integer(0), new Integer(10), new Integer(1))
, но, естественно, это ничего не меняет ...
Это может быть натяжкой, но рассмотреть возможность предоставления [работоспособный пример] (https://stackoverflow.com/help/mcve), который демонстрирует проблему, если это возможно, показывая как рабочий кок и ваш непослушный вертушка. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам. – MadProgrammer
Мне нравится, когда вы производите шаг за шагом, используя модель для создания счетчика и запроса значения. Здесь может быть лучше. Если нет, отправьте сообщение [mcve] по рекомендации @MadProgrammer - поскольку для определения непосредственной проблемы недостаточно кода. –