Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Слушать редактирование текста, какой listener использовать 
:(
    Опции темы
_Y_
Дата 30.12.2019, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Не пишу на Java очень давно, но иногда приходится поддерживать старые проекты. Так что извините, если вопрос несколько чайниковый.

Имеется поле JTextField или JTextArea. Надо к такому полю добавить Listener, который бы сообщал, что текст изменён пользователем. Попробовал использовать DocumentListener, но он реагиреут на любые изменения, а мне нужно слушать только те изменения, которые ввёл пользователь.

Думал, может быть какой-нибудь KeyListener надо использовать, но тогда будет слушаться не изменение текста в поле, а любое нажатие клавиш. Да и изменения мышью как-то отдельно придётся слушать.

Как грамотно поступить?


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
LSD
Дата 2.1.2020, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15708
Регистрация: 24.3.2004

Репутация: 38
Всего: 537



Цитата(_Y_ @  30.12.2019,  22:46 Найти цитируемый пост)
Попробовал использовать DocumentListener, но он реагиреут на любые изменения, а мне нужно слушать только те изменения, которые ввёл пользователь.

А кто кроме пользователя, еще меняет документ?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
SVN74
Дата 2.1.2020, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: нет
Всего: 18



Как вариант можно проверять контрольную сумму текста (к примеру CRC32), при попытке сохранения документа пользователем...
PM MAIL WWW   Вверх
_Y_
Дата 9.1.2020, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Цитата(LSD @  2.1.2020,  19:48 Найти цитируемый пост)
А кто кроме пользователя, еще меняет документ? 

Поле получает значение при инициализации, а пользователь может его менять.

Подозреваю, что вопрос свой я могу уже снять.

Стояла задача сделать Undo/Redo функцию не для одного текстового поля (что решается стандартным классом javax.swing.undo.UndoManager), а для формы, состоящей из полей разных типов. Для этого на каждом поле надо было бы слушать изменения, внесённые пользователем, но не самой программой.

Но за прошедшие несколько дней пришло понимание, что приоритетность такого Undo/Redo для моего поекта стремится к нулю.

Спасибо


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
LSD
Дата 13.1.2020, 21:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15708
Регистрация: 24.3.2004

Репутация: 38
Всего: 537



Я бы, создал документ, инициализировал его нужными данными, а затем бы уже повесил слушателя.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1113 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.