|
Модераторы: LSD, AntonSaburov |
|
Рубильник |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 6.6.2016 Репутация: нет Всего: нет |
Делаю графический компонент для ввода дробного значения с фиксированной длиной дробной части и максимальной длиной целой части.
Пусть у нас есть элемент с форматом ##.### (ввод - > что получилось в итоге) тогда 1234.5678->12.345 .12345 -> 0.123 Когда курсор доходит за предел разделителя (.) символы в дробной части должны заменяться, а не добавляться. Замену я делал так: сначала удалял заменяемый символ, а потом вставлял на его место новый. В потомке от PlainDocument вызывается myChange(номер символа, новый символ)
Вот только удаление не срабатывает. И символы по прежнему вставляются, а не заменяются. Что я делаю не так? ПС: После введении последнего символа (окончания ввода) необходимо передать фокус следующему полю. Как это организовать? Момент, когда это надо сделать я засечь могу, а какой командой передать фокус не знаю. |
|||
|
||||
Рубильник |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 6.6.2016 Репутация: нет Всего: нет |
Вопрос снят. Надо было удалять не через событие, а через .remove(i, 1);
******** Остался вопрос с передачей фокуса. И это вопрос снят. KeyboardFocusManager.getCurrentKeyboardFocusManager().focusNextComponent(); В правильности не уверен, но пока меня поведение полностью устраивает. Это сообщение отредактировал(а) Рубильник - 15.6.2018, 12:02 |
|||
|
||||
Правила форума "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. |