Java Swing - проблема в JSpinner - PullRequest
3 голосов
/ 27 апреля 2010

Я занимаюсь разработкой Java Desktop Application и проектирую графический интерфейс с помощью Netbeans Swing GUI Builder.

Я хочу использовать JSpinner в своем приложении. Я перетащил его на JPanel. Теперь я хочу установить два его свойства:

  • Во-первых, он должен отображать числа в диапазоне от 1 до 50. Ни меньше 1, ни больше 50. Как мне установить этот диапазон?

  • Во-вторых, когда я пытаюсь получить его значение с помощью spinner.getValue(), возвращается Object. Так как тип данных моего счетчика - Integer, было бы лучше уменьшить Object до Integer или есть какой-нибудь другой способ получить это числовое значение?

Ответы [ 5 ]

6 голосов
/ 27 апреля 2010

Создайте SpinnerNumberModel, это должно решить все ваши проблемы.

SpinnerNumberModel model =
new SpinnerNumberModel(int initialValue, int minValue, int maxValue, int step)

Для получения дополнительной информации рекомендую прочитать Как использовать прядильщики

1 голос
/ 14 ноября 2010
int myInt = (Integer)mySpinner.getValue();

В Java есть автобокс для примитивных типов данных, поэтому приведенный выше код получит значение спиннера в виде целого числа, если вы используете SpinnerNumberModel, как предложено Хэмом.

1 голос
/ 27 апреля 2010

С здесь , способ сделать это в NetBeans:

  1. Создайте JSpinner, как вы сделали.
  2. Щелкните правой кнопкой мыши и выберите «Настроить код»
  3. Установить инициализацию в виде счетчика с SpinnerNumberModel .
0 голосов
/ 27 апреля 2010

Прочтите раздел из учебника по Swing " Как использовать прядильщики ". И не забудьте ознакомиться с остальным содержанием для основ Swing.

0 голосов
/ 27 апреля 2010

Ham правильно на ваш первый вопрос (как ограничить диапазон от 1 до 50). На второй вопрос, да, вы можете просто бросить его. Большинство (если не все) компоненты Swing возвращают объект для своего значения (единственное заметное исключение - текстовые поля).

...