Вопрос

Как я могу заставить JTextFields разрешить Ctrl-Удалить и Ctrl-Backspace при редактировании текста?

В других программах эти комбинации клавиш могут удалить целое слово за один раз.

Насколько я могу судить, поведение JTextField по умолчанию позволяет пользователю использовать CTRL для перехода через целое слово при использовании клавиш «влево» и «вправо» и для выбора всего слова при использовании СДВИГ тоже используется.Однако удаление просто не работает.

Это было полезно?

Решение

Swing использует привязки клавиш для сопоставления действий с компонентами.Чтобы узнать сопоставления по умолчанию для данного компонента, вы можете использовать Ключевые привязки программа.Статья также содержит ссылку на учебное пособие по Swing, в котором есть раздел «Как использовать привязки клавиш».

Чтобы создать свое собственное действие, вы должны расширить TextAction, чтобы у вас был доступ к текстовому компоненту.Затем вам нужно будет получить текущую позицию каретки.Затем вы можете использовать класс Utilities, чтобы получить начало или конец текущего слова, а затем удалить символы из документа.

Другие советы

Вам необходимо определить действие и поместить его в карту действий композита.Видеть Эта статья для знакомства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top