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