У меня есть JTestPane
, содержащий некоторый текст (очевидно). При просмотре текста с помощью клавиатуры обычно используется элемент управления + стрелка вправо, чтобы пропустить целые слова. Поведение по умолчанию в JTestPane
состоит в том, чтобы поместить каретку прямо перед первым символом следующего слова.Выбор/просмотр управления в JTextPane
Например, рассмотрим предложение «Это предложение». Начиная с postion 0, если я пропущу «Это» и перейду к следующему слову (используя CTRL + RIGHT), каретка будет в позиции 5, то есть прямо перед «есть».
Это нормально для просмотра, но мне не нравится это поведение при выборе текста. В приложении, над которым я работаю, было бы намного лучше, если бы при использовании SHFT + CTRL + RIGHT я выбирал только «Это» (без лишнего пространства), а не «Это», как и по умолчанию. Другими словами, я хочу выбрать символы 0-3 вместо 0-4.
Я не нашел много информации о том, как настроить Swing, чтобы получить такой результат. До сих пор я пробовал регистрировать CaretListener
на JTestPane
и вручную сокращать выделение, чтобы при необходимости удалить конечное пространство. Однако это было не так хорошо, и это не сработало хорошо, поскольку он не позволял выбирать несколько слов.
Итак, если кто-то может указать мне в правильном направлении, я буду более чем счастлив.
Вам необходимо переопределить привязки клавиш – MadProgrammer