私は、ユーザーがプログラム、特にJTextAreaにテキストをペーストするときにイベントを発生させる必要があります。ペーストコマンドを検出するためのシステムに依存しない方法はありますか?私は周りを見回してきましたが、この目的のためにリスナーを見つけることはできません。私はシステムではない回避策をとることに決めましたが、これには普遍的な方法があることを期待していました。Java - システムセーフペーストコマンドをリッスンします
答えて
なぜ「ペースト」を聞きますか? JTextAreaの「モデル」であるPlainDocumentにDocumentListenerを追加するだけではどうですか?これにより、のすべての情報がソースに関係なく変更されることが通知されます。聞きながらドキュメントの変更を防止したい場合は、DocumentFilterを使用します。それにかかわらず、これがSwing GUIであれば、おそらくKeyListenersを使用しないでください。
これは私がとにかく探していたものです。すべての入力、ペースト、ドラッグで完璧に動作します。ありがとう! – UnstoppableDave
KeyEvent
はKeyListener#keyPressed(KeyEvent e)
の内部で使用することができますVK_PASTE
という定数値を持っています
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case KeyEvent.VK_PASTE:
// do stuff when a paste occurs
}
}
役に立つかもしれませんVK_CUT
とVK_COPY
もあります。これらのすべては、システムに依存しないものでなければなりません。
キーストロークを使わずにテキストを貼り付けることができるので、すべてのイベントをキャプチャすることはできません。私はまだ彼の質問にOPがどこに行くのか分からず、彼はそれを明確にすることを拒否しているように見えることはありません。 –
@HovercraftFullOfEels明らかに、 'VK_PASTE'はマウスのオプションも認識します。 – Jon
ありがとうございます、それは動作するはずですが、起動していません。私は聞いた人に遅れて1つの入力を更新することに問題がありましたが、単純なprintlnを使っても起動しません。 – UnstoppableDave
- 1. Javaはスレッド状態でリッスンします
- 2. Java ServerSocket accept-method連続リッスン
- 3. テーブル行数のリッスンをリッスン
- 4. Javaプログラムからのデータベースイベントのリッスン
- 5. Firebase認証:失敗をリッスンします
- 6. TCPリスナーがリッスンを停止します
- 7. 端末セッション「クローズ」イベントをリッスンします
- 8. VB.Netスクリプトのイベントをリッスンしますか?
- 9. GoLangはポート範囲をリッスンします
- 10. cumulocityのJavaクライアントはどのようにイベントをリッスンしますか?
- 11. Mac用DockerをTCPポートでリッスンします
- 12. Eclipseはポート42540でリッスンします(?)
- 13. RXjs - エラーの後でもリッスンします
- 14. Cloud9-デバッガポート15454でリッスンしますか?
- 15. 角2はモデルチェンジ時にリッスンします
- 16. 私のウェブサイトはポート8080をリッスンしますが、ポート80はリッスンしません(これはURLのデフォルトです)
- 17. Javaスレッドの質問 - n個のエラーストリームをリッスンする
- 18. JavaScriptのJavaブール変数の変更をリッスンする
- 19. Javaを複数のRabbitMQキューにリッスンすることはできますか?
- 20. イベントを使用してJava(JFreeChart)でクリックをリッスンする方法は?
- 21. Spring Kafkaはトピックリストからのリッスンを無効にします。
- 22. スパークがローカルホストでリッスンする
- 23. カスタムExceptionMappingInterceptorがリッスンしていません
- 24. スピネーカーデッキはポート9000でリッスンしません
- 25. ポートを継続的にリッスンし、データをテキストファイルにダンプします。
- 26. QMLにC++オブジェクトを公開し、変更イベントをリッスンします
- 27. アップグレードとSonarQubeがネットワークでリッスンしない
- 28. Javaからファイルメニューを使用して呼び出された印刷ジョブイベントをリッスンします
- 29. スクロールイベントを還元してリッスンする
- 30. クリックしたファイルをリッスンする - Eclipseプラグイン
「システムに依存しない」という意味を定義してください。 –
'KeyEvent'は' VK_PASTE'定数を持っています(ここでは@HovercraftFullOfEelsで動作します) – Jon