Java - Слушайте для копирования и вставки из буфера обмена - PullRequest
0 голосов
/ 29 октября 2018

(1) Есть ли способ прослушивания любых обновлений буфера обмена (включая Ctrl + C / X, PrtSc (скриншот) и изменения, сделанные другими программами) в Java? Я пробовал это:

    Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() {
        @Override
        public void flavorsChanged(FlavorEvent e) {
            System.out.println("Copy detected");
        }
    });

Это хорошо обрабатывает изменения Ctrl + C, но не замечает изменений, которые не были сделаны пользователем вручную , например. с помощью скриншота программного обеспечения или кнопки PrtSc.

(2) Есть ли способ прослушать действия paste (Ctrl + V, кнопка "paste" и т. Д.)? Я хочу что-то подобное (или просто с похожим функционалом):

// ...
    @Override 
    public void prePaste(PasteEvent e) {
        System.out.println("Paste detected");
        e.cancel(); // reject the paste (so that user's Ctrl+V pastes nothing)
    }
// ...
...