![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Добрый день.
Помогите, кто чем может, пожалуйста. Поставили следующую задачу: а поля, куда должны вводиться денежки, чтобы ввод осуществлялся по формату #,###, где "," - это разделитель тысяч. Нашла jFormattedTextField, но не могу разобраться, что надо сделать. Написала вот так:
Но теперь больше 9тысяч 999 рублей ввести нельзя. И если, например, я введу всего одну цифру, то она будет рассматриваться как тысяча? Добавлено через 2 минуты и 15 секунд И еще. Значения из полей мне надо записывать в базу. Но значения в базе типа Double и ничего не сохраняется.:( Как то можно получить значение без маски? И что вообще делать в этом случае? |
|||
|
||||
eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
можно использовать NumberFormatter
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Хммм... почему-то не работает... то есть текст филд вообще пустой... и если туда вводить цифры, то никаких запятых там не расставляется...
и что еще делает вот эта строка : numberField.setColumns(7); ? |
|||
|
||||
eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
разделителем является не запятэ, а пробел. фишка в том, что значение отформатируется при смене фокуса определяет длину поля, в количестве символов --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
а можно делать разделителем все-таки запятую? если можно, то как?
|
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
вот так:
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
Swatch |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Не помогает. Написано так:
Все равно ничего не делает.... Ввожу цифры и, даже при потере фокуса, ничего не происходит... Может быть дело в том, что я пишу в NetBeans и часть кода там генерится сама. Вот, что генерит NetBeans
все это написано в initComponents(); а потом, в методе, где initComponents() вызывается, после я пишу тот код, который привела сначала. Но ничего не происходит ![]() |
||||
|
|||||
eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
а если твой код вставить в initComponents()? т.е. подредактировать там, где
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
а там нельзя редактировать... даже если это отредактировать откуда-нить, то это может потом вызвать ошибки и потом вообще все упадет... пройденный этап уже...
|
|||
|
||||
eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
приведи код этого класса
Это сообщение отредактировал(а) eXcile - 31.8.2007, 13:26 --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
|
|||
|
||||
eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
если я правильно думаю, то у тебя создается всего один текстфилд, это тот который описан в initComponents, а текстфилда из DisposalCostPanel() вообще нет. Вся соль в том, чтобы втексте присутствовала запятая, а это происходит из-за указания форматированного текста DecimalFormat. может есть какие-нибудь ссылки на компоненты? и надо через них работать? с NetBeans не работал, поэтому объективно объяснить не могу...
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Сделала вот так:
Возникла другая проблема. Мне надо, чтобы при потере фокуса у компонента jFormattedTextField1 пересчитывалась сумма одна. Для этого надо брать значение jFormattedTextField1. Но значение обновляется только после потери фокуса, то есть на само событие значение jFormattedTextField1 остается то, которое было до ввода. Есть ли какая-нибудь функция, которая позволит обновить значение jFormattedTextField1 во время потери фокуса? |
|||
|
||||
fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 15 Всего: 27 |
Нужно вешать листенер не на потерю фокуса, а на изменение значения.
-------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |