Ctrl-Delete в JTextField

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

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

Насколько я могу судить, поведение JTextField по умолчанию позволяет пользователю использовать CTRL для перехода через все слово при использовании левой и правой клавиш и для выбора всего слова при SHIFT< /kbd> также используется. Однако удалить просто так не получится.


person colinjwebb    schedule 24.09.2009    source источник


Ответы (2)


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

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

person camickr    schedule 24.09.2009

Вам нужно определить действие и поместить его в карту действий композита. См. эту статью для ознакомления.

person Aaron Digulla    schedule 24.09.2009