Пытаюсь сделать так, чтобы при нажатии на enter строка не переносилась, а при зажатом shift переносилась.
Сделал boolean
переменную, отвечающую за зажатый shift, это позволило мне добиться того, чтобы строка не переносилась, пока shift не зажат, но проблема в том, что по умолчанию в TextArea
строка не переносится при зажатом shift.
При попытке написать textArea.setText(textArea.getText()+"\n")
, каретка переносится в самое начало, при попытке перенести её в конец, весь текст в TextArea
выделяется.
Решил проблему таким образом:
boolean shiftPressed = false;
textArea.addEventFilter(KeyEvent.KEY_PRESSED, keyEvent -> {
KeyCode keyCode = keyEvent.getCode();
if(keyCode.equals(KeyCode.ENTER)) {
if(!shiftPressed)
method(); // метод, срабатывающий при нажатии enter без shift
else
textArea.insertText(textArea.getCaretPosition(),"\n");
keyEvent.consume();
} else if(keyCode.equals(KeyCode.SHIFT))
shiftPressed = true;
});
textArea.setOnKeyReleased(event -> {
if(event.getCode().equals(KeyCode.SHIFT))
shiftPressed = false;
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Суть задачи: Получить из коллекции поток (Stream)Получить из потока коллекцию всех пользователей, имена которых не содержат чисел, вывести содержимое...
Подскажите какие-нибудь простые но эффективные технологии для считывания содержимого *STL файла, обработки этого содержимого и вывода на экран...
Как настроить H2 в Spring Boot для постоянного хранения данных?
Объясните пожалуйста разницу между reduction и mutable reductionВ документации Oracle описано, метод класса Stream reduce() это reduction, метод collect() -это mutable reduction