Я использую Vaadin, и у меня есть TextArea, и я хочу, чтобы пользователь мог вводить вкладки в текст. Но нажатие на вкладку циклически переключает компоненты в веб-браузере. Есть ли какая-либо конфигурация, которую я могу сделать для достижения этой цели, чтобы вместо циклического перехода пользователя к следующему компоненту вводился литерал "\t"?

0
Snickers3192 24 Апр 2017 в 13:59

2 ответа

Лучший ответ

Vaadin TextArea - это простой элемент HTML <textarea>, который не поддерживает ввод символов табуляции из коробки без модификаций на стороне клиента. Символ табуляции обычно используется для переключения фокусируемых элементов (tabindex).

Вы можете использовать, например, CodeMirror (https://vaadin.com/directory#!addon/v-codemirror) включить редактор кода на стороне клиента, который может обрабатывать символы табуляции. Второй вариант - расширить текстовое пространство Vaadin с помощью клиентских расширений JS / GWT: см. Использовать. вкладка для отступа в текстовой области и https: // vaadin.com/docs/-/part/framework/gwt/gwt-extension.html

2
Community 23 Май 2017 в 11:33

Добавление ярлыка ярлыка работает, например:

TextArea area = new TextArea("test")
area.addShortcutListener(new ShortcutListener("Shortcut Name", ShortcutAction.KeyCode.TAB, null) {
@Override
public void handleAction(Object sender, Object target) {
    area.setValue(area.getValue() + "\t")
}
});
1
Pete 26 Апр 2017 в 16:58