Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-侦听系统安全粘贴命令_Java_Swing_Paste_Listen - Fatal编程技术网

Java-侦听系统安全粘贴命令

Java-侦听系统安全粘贴命令,java,swing,paste,listen,Java,Swing,Paste,Listen,当用户将文本粘贴到我的程序中时,我需要触发一个事件,特别是JTextArea。是否有独立于系统的方法来检测粘贴命令?我一直在四处寻找,但似乎找不到这样的听众。我愿意接受一种非系统安全的解决方法,但我希望有一种通用的方法来解决这个问题。有一个名为的常量值,可以在以下内容中使用: 还有VK_CUT和VK_COPY,这可能会有所帮助。根据文档,所有这些都应该是独立于系统的。为什么要听“粘贴”?为什么不简单地使用添加到作为JTextArea“模型”的纯文档中的DocumentListener呢?这将通知

当用户将文本粘贴到我的程序中时,我需要触发一个事件,特别是JTextArea。是否有独立于系统的方法来检测粘贴命令?我一直在四处寻找,但似乎找不到这样的听众。我愿意接受一种非系统安全的解决方法,但我希望有一种通用的方法来解决这个问题。

有一个名为的常量值,可以在以下内容中使用:


还有
VK_CUT
VK_COPY
,这可能会有所帮助。根据文档,所有这些都应该是独立于系统的。

为什么要听“粘贴”?为什么不简单地使用添加到作为JTextArea“模型”的纯文档中的DocumentListener呢?这将通知您文档的所有更改,无论其来源如何。如果您想防止在收听时修改文档,请使用DocumentFilter。无论如何,如果这是一个Swing GUI,您可能根本不应该使用KeyListener。

请定义“系统独立”的含义?
KeyEvent
有一个
VK_PASTE
常量(在这里@hoverCraftFullOfels起作用)可以粘贴文本而不使用按键,因此这不会捕获所有事件。我仍然不知道OP的问题是怎么回事,可能永远也不知道,因为他似乎拒绝澄清。@HovercraftFullOfEels显然,
VK_-PASTE
也识别了鼠标选项。谢谢,看起来它应该可以工作,但它没有启动。我的侦听器更新一个输入时出现问题,但即使使用简单的println,它也不会启动。@unstabledave您必须将
keylister
添加到GUI中<代码>您的\u组件。添加(您的\u密钥侦听器)@Jon我有其他的按键监听器,在实际的击键时工作得很好,只是粘贴命令没有触发事件。这正是我一直在寻找的。适用于包括所有输入、粘贴和拖动在内的所有操作。谢谢
public void keyPressed(KeyEvent e) {
  switch(e.getKeyCode()) {
    case KeyEvent.VK_PASTE:
      // do stuff when a paste occurs
  }
}