![]() |
Модераторы: 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 |
Нужно вешать листенер не на потерю фокуса, а на изменение значения.
-------------------- ![]() |
|||
|
||||
SergikXP |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 21.10.2006 Репутация: нет Всего: -1 |
Там есть закладка code в инспекторе свойств.
Где есть строка Precreate code - точно не помню (под рукой его нет), где можно ввести код или вызвать функцию в момент создания. |
|||
|
||||
eXcile |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
в этом коде я не вижу добавление компонента на панель [add(jFormattedTextField1)]... хотя может NetBeans, сам каким-то образом это делает --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
||||
|
|||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Спасибо большое. ТОлько теперь возникли 2 других проблемы.
1.Если я пытаюсь просто убрать значение из jFormattedTextField, то при потере фокуса значение в jFormattedTextField становится равным предыдущему значению. 2. Если я редактирую текст в jFormattedTextField и потом нажимаю на кнопку переходи между формами, то значение не сохраняется. То есть раньше, когда стояло событие потери фокуса, фокус терялся и редактирование останавливалось на том, что ввела... А теперь вообще ничего не происходит... То есть, при нажатии на кнопку значение в jFormattedTextField становится равным предыдущему значению.:( Что делать, подскажите, пожалуйста... ![]() |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Добрый день.
Спасибо большо, PropertyChangeListener помог. Только теперь возникло 2 другие проблемы: 1. При попытке стереть данные из jFormattedTextField, если там до этого что-то было введено, стирание не происходит... то есть я выделяю данные, которые были, удаляю их и, если jFormattedTextField теряет фокус, то там остается не пустой jFormattedTextField, как должно быть по идее, а данные, которые я пыталась стереть. 2. Если я редактирую данные в jFormattedTextField и при редактировании нажимаю кнопку, по которой должен осуществляться переход между панелями, то данные в jFormattedTextField, которые я вводила, не сохраняются, а, опять таки, замещаются значениями, которые были до этого. То есть если фокус у jFormattedTextField теряется, но мы остаемся на этой же панеле, то значение сохраняется, а если уходим с панели, то значение берется то, которое было jFormattedTextField. Добавлено через 1 минуту и 29 секунд ой, 2 раза написала... ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |