2015-05-13 4 views
0

Может кто-нибудь сказать мне, как я могу получить точное значение от jSpinner? Вот как выглядят мои JSpinner-х, когда пользователь будет выбирать время: enter image description hereПолучить точное значение jSpinner

однако, когда я прохожу значение JSpinner в TextField он выглядит как это: enter image description here

Вот мой код:

timeout1 = spnrTOH1.getValue()+":"+spnrTOM1.getValue()+" "+spnrTOA1.getValue(); 

Вот моя модель jSpinner: enter image description here

Любая помощь будет очень признательна. Заранее спасибо! Извините, если мой вопрос кажется глупым. Новичок здесь. :)

+0

Я проверил код. отлично работает .. в чем проблема? на каком событии вы хотите отобразить его на текстовом поле. – ELITE

+0

Привет @NiRRaNjANRauT, я хочу иметь 01:00 утра, а не 1: 0 AM. Я хочу показать в текстовом поле, когда кнопка отправки нажата. спасибо – nhix

+0

что 'model' вы установили в' JSpinner' ... означает 'DefaultModel' или любой другой ... – ELITE

ответ

1

добавить эту функцию в программе ..

public String getString(Object object) { 
    int number = Integer.parseInt(object.toString().trim()); 
    if(number < 10) { 
     return "0" + number; 
    } 
    return String.valueOf(number); 
} 

и называют это, когда вы должны установить значение в текстовое поле, как

timeout1 = getString(spnrTOH1.getValue())+":"+getString(spnrTOM1.getValue())+" "+spnrTOA1.getValue(); 
+0

'String # format' ...... – Antoniossss

+0

Я попробую. Спасибо. :) – nhix

+0

Hi @NiRRaNjAN RauT, он работает. Большое спасибо. :) – nhix

2

Это не относится к прядильщику и его модели.

Вам нужно отформатировать строку, чтобы иметь начальные нули. Счетчик показывает 00, когда точное значение составляет 0 из-за процедуры форматирования рендеринга ротатора. Renderer - это компонент, который отвечает за отображение значения GUI, хранящегося в модели. Например. Пользовательский рендерер может отображать целые числа в виде римских чисел.

для форматирования вывода просто использовать String#format метод так:

timeout1 = String.format("%02d:%02d %s",spnrTOH1.getValue(),spnrTOM1.getValue(),spnrTOA1.getValue()); 

Таким образом, вы будете показывать целочисленные значения, 2 цифры числа с ведущими 0.

+0

Привет Спасибо за ваш ответ. Но первый ответ работает для меня. Я ценю вашу помощь. Большое спасибо! :) – nhix

Смежные вопросы