ReactFX- Как мне создать поток для события комбинации клавиш CTRL-C?
Я новичок в ReactFX и пытаюсь запечатлеть нажатие клавиш CTRL и C для обычной операции копирования.
Как мне эффективно записать это в поток? Это все, что я мог получить до сих пор, но это даже не компиляция...
final EventStream<KeyEvent> keysTyped = EventStreams.eventsOf(myTbl, KeyEvent.KEY_TYPED)
.reduceSuccessions((a,b) -> new KeyCodeCombination(a.getCode(),b.getCode()), 500);
1 ответ
Решение
Это работает для меня:
KeyCombination ctrlC = new KeyCodeCombination(KeyCode.C, KeyCombination.SHORTCUT_DOWN);
final EventStream<KeyEvent> keysTyped = EventStreams.eventsOf(text, KeyEvent.KEY_PRESSED)
// the following line, if uncommented, will limit the frequency
// of processing ctrl-C to not more than once every 0.5 seconds
// As a side-effect, processing will be delayed by the same amount
// .reduceSuccessions((a, b) -> b, Duration.ofMillis(500))
.filter(ctrlC::match);
keysTyped.subscribe(event -> System.out.println("Ctrl-C pressed!"));