|
|
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Господа, кто знает как реализовать ввод даты пс маской? Имеется ввиду следующее: пользователь ввел "12" после он вводит "1" - в поле появляется "12.1" и т.д. Соответственно введя 01012001 я должен выдить "01.01.2001". Сам добился следующего: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Это очень грубое решение, которое если идти в этом направлении надо еще шлифовать, но суть не в этом. При таком подходе "верный" результат получается уже после "ввода" даты, т.е. когда поле покинуто, а хочется чтобы все происходило "на лету". Кто-нибудь может что-то посоветовать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 13:45 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
RuslanGab, Странно, что-то не могу сходу найти масок в JavaFX. Нужно что-то типа такого http://myjavafx.blogspot.com/2013/05/restricting-user-input-on-textfield.html На каждое изменение, содержимое поля надо переформатировать под маску. Пользователь вбивает числа, а формат сам добавляет всё нужное, если его нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 13:52 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Вот и я не смог найти иначе бы не спрашивал Можно написать самому нечто перехватывающее KeyEvent. Подобный функционал по сути и реализовывают по вашей ссылке (и подобным - я же тоже поискал) Код: java 1. Проблема в том что "нажатия кнопок" собственно в поле ввода даты я тоже не смог отыскать как отловить. Вот когда это поле покидаешь и происходит по сути ввод даты из введенного текста - это да, а на лету посмотреть изменения этого поля наподобие текстового... Ну не может быть чтоб никак, а как я что-то ни в какую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:38 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
RuslanGab, Не понял. Что не так с ChangeListener? Не надо перехватывать кнопки. Надо анализировать текущий ввод и форматировать его по маске. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:50 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Нашел как отловить нажатия. Cделаю конечно, но если кто-то в курсе чего-то более "нативного" буду рад подсказке. Код: java 1. 2. 3. Cделаю конечно, но если кто-то в курсе чего-то более "нативного" буду рад подсказке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:51 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
RuslanGab, Ловить нажатия на кнопки - плохая затея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:51 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Ловить нажатия на кнопки - плохая затея. Пользователь может вставить через буфер. Мышью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:52 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, На DatePicker напрямую не вешается chandeListner:( А если его вешать на valueProperty то как я и писал сработает только после ввода всей даты. Ну или я что не так сделал;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:54 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Все нашел гада. Его зовут Editor. Это собсвенно поле куда пользователь сам вносит данные. Дальше проще. myDatePicker.getEditor().textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { System.out.println("ChangedValue" + myDatePicker.getEditor().getText()); } }); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:10 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
RuslanGab, У DatePicker есть editor, который TextField. Вот туда надо попробовать повесить слушателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:10 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Так и сделал все работает. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:22 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
Плохая идея вешать слушателя... Надо примерно в том направлении копать: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2016, 11:16 |
|
||
|
JavaFX: маска на полле ввода даты в элементе DatePicker
|
|||
|---|---|---|---|
|
#18+
oneHalf, Таки есть форматтер! Странно, что сходу не гуглится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2016, 11:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39247248&tid=2123900]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 392ms |

| 0 / 0 |
