| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Подойдет ли NumberFormatter? |
| Автор: azz 4.4.2006, 18:19 |
| Мне надо сделать текстовое поле которое отображало duble. (а именно цену). Выглядеть это должно примерно так: 12.345,20. Причем если знаков после запятой нет или толко один - должны дововлятся... Это можно сделать с FormatedTextField или надо писать свой класс? Дополнительные вопросы: 1. Как из этого поля получить duble? 2. Какой самый простой способ выделить весь текст в поле? |
| Автор: Beard 4.4.2006, 19:15 | ||
Можно:
Наверно, преобразовывать к double надо иначе - воспользоваться каким-нить форматтером или еще что-нить в таком духе А что значит - выделить (второй пункт)? |
| Автор: Beard 4.4.2006, 19:38 | ||
Проще использовать selectAll()
|
| Автор: azz 4.4.2006, 21:11 |
| Просто не может не радовать тот факт, насколько всеже мир не без добрых людей... Щас начну пробовать и то что получится потом вылвжу сдесь. Всем спасиба! |
| Автор: azz 5.4.2006, 06:33 |
| А как сделать чтоб 2 знака после запятой добовлялись если они не заданны? |
| Автор: LSD 5.4.2006, 10:27 | ||
Так они и будут добавляться. Вначале у тебя JFormattedTextField заполнено нулями. И если пользователь не вобъет свое значение, то там нули и останутся. |
| Автор: azz 5.4.2006, 13:09 | ||
Я пока сто так сделал:
но он не принемает setFormatter(format); Почему?? И что делать? |
| Автор: Beard 5.4.2006, 13:23 | ||
| Потому что - разве в JavaDoc ничего не написано? DecimalFormat предназначен для форматирования decimal numbers, его ты будешь использовать для получения из строки (что вернет JTextFormatted) double а JFormattedField::setFormatter() использует JFormattedField.AbstractFormatter для форматирования своего текста, поэтому надо использовать его реализацию, например MaskFormatter из моего примера. Что-нить в таком духе:
|
| Автор: azz 5.4.2006, 15:31 | ||||||
| Все... Вроде закончил . Выношу на ваш суд, оптимезацию... а может кому и пригадится: 1. Класс который мне форматированные поля генерирует:
2. Так я загоняю значение в поле:
3. А так получаю из него :
|
| Автор: azz 5.4.2006, 16:00 |
| Нет не все.... Перестал срабатывать getFocus.... |