(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)
}
// ...