(1)有没有办法在Java中监听任何剪贴板更新(包括Ctrl+C/X、PrtSc(截图)和其他程序所做的更改)?我试过这个:
Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() {
@Override
public void flavorsChanged(FlavorEvent e) {
System.out.println("Copy detected");
}
});
这可以很好地处理 Ctrl+C 更改,但不会注意到不是由用户手动进行的更改,例如通过屏幕截图软件或 PrtSc 按钮。
(2)有没有办法监听粘贴动作(Ctrl+V、“粘贴”按钮等)?我想要类似的东西(或只是具有类似的功能):
// ...
@Override
public void prePaste(PasteEvent e) {
System.out.println("Paste detected");
e.cancel(); // reject the paste (so that user's Ctrl+V pastes nothing)
}
// ...