как отменить выбор текста по умолчанию после использования textarea.moveCaretPosition (textarea.getText (). length ()); - PullRequest
0 голосов
/ 06 апреля 2019

Мне было поручено создать текстовый редактор с использованием сокетного программирования, где есть один сервер и несколько клиентов.

когда любой клиент меняет что-либо в своих текстовых редакторах, изменения текста должны отражаться на всех текстовых редакторах всехклиенты.

, чтобы сделать это, я использовал слушатель действия, чтобы отправить каждое изменение на сервер, а затем я использовал moveCaretposition, чтобы переместить курсор в конец текста (без этого позиция курсора сбрасывается в позициюпервого персонажа).проблема, с которой я сталкиваюсь сейчас, заключается в том, что всякий раз, когда курсор возвращается к концу текста, текст выделяется, и поскольку изменения отражаются на всех клиентах, включая клиента, который вносит изменения, этот клиент в основном не может писать,потому что всякий раз, когда он пытается что-то набрать, текст перезаписывается новыми набираемыми символами, так как предыдущий был выбран

, есть ли способ отменить выбор по умолчанию каждый раз, когда изменения отражают?так что клиенты могут писать в своих текстовых редакторах.

Я попробовал grabfocus (), getfocus (), moveCaretPosition, используя оба метода getdocument и getText

, но все же что-то мне не хватает

while(true) {
    String NewDatainTextArea = ClientInput.readLine();
    c1.ChangeText(NewDatainTextArea);//c1 is a text editor object
    c1.t.moveCaretPosition(c1.t.getText().length());
    c1.t.grabFocus();
}

есть ли возможность отменить выбор по умолчанию каждый раз, когда изменения отражаются?чтобы клиенты могли писать в своих текстовых редакторах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...