| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Ввод времени |
| Автор: Connie 1.12.2008, 11:42 |
| Мне в программе нужно поле для ввода времени, примерно такое [hh:mm] поискал в сети и не нашел ничего такого. Полно компонентов для ввода даты и времени, а такого простого нет. Т.е. мне нужен editor для ячейки таблицы, рендер я уже сделал. Есть мысль как самому такой написать. В этом нет ничего сложного. Но смущает то, что подобное уже должно быть реализовано. Киньте пожалуйста ссылкой. Если нет, то напишу и выложу. Думаю его сделать так: внизу панелька, на ней три элемента: первый JFormattedTextField с InputVerifier'ом, потом JLabel(":"), потом еще один JFormattedTextField с InputVerifier'ом на вход long от Time или Time, ну и на выход тоже самое. Вроде такая простая, очевидная вещь, а я найти не могу :( |
| Автор: Connie 1.12.2008, 15:38 | ||||||
| сделал след образом, коряво как то Это класс для ввода
Это InputVerifier
А вот так добавляем новое поле
|
| Автор: fixxer 2.12.2008, 12:34 |
| А почему бы просто не cделать new JFormattedTextField(new SimpleDateFormat("HH:mm")) ? |
| Автор: LSD 2.12.2008, 13:33 |
| Ну или не использовать JSpinner. |
| Автор: Connie 2.12.2008, 17:28 | ||
fixxer,
в этом случае все отображается красиво, но ввод не очень, дело в том, тогда пользователь попадая в такое поле теряет формат, т.е. может ввести так: 1456::::45654::: бла бла бла, конечно это не будет принято, но лучше такого просто не допускать Этим лучше maskFormatter, но тогда возвращаемся к моему варианту. LSD, а можно по подробнее, что Вы имели ввиду, я в джава не силен :( |
| Автор: fixxer 2.12.2008, 18:08 |
| Тогда хотя бы для валидации и преобразования используйте SimpleDateFormat. А не этот ахтунг с рукопашным разбором строки. |
| Автор: LSD 2.12.2008, 18:48 |
| http://java.sun.com/docs/books/tutorial/uiswing/components/spinner.html |
| Автор: Connie 7.12.2008, 18:52 | ||||
Переделал след. образом, стало красивее, но остался один вопрос
Вот так проверяю
|