当用户将文本粘贴到我的程序中时,我需要触发一个事件,特别是JTextArea。是否有独立于系统的方法来检测粘贴命令?我一直在四处寻找,但似乎找不到这样的倾听者。我会满足于非系统安全的解决方法,但我希望有一个通用的方法来解决这个问题。
发布于 2012-03-13 12:13:31
为什么要听“浆糊”呢?为什么不简单地使用添加到PlainDocument的DocumentListener,即JTextArea的“模型”?这将通知您对文档的所有更改,而不管其来源如何。如果您想防止在收听时修改文档,请使用DocumentFilter。无论如何,如果这是一个Swing,您可能根本就不应该使用KeyListeners。
发布于 2012-03-13 11:24:05
KeyEvent有一个名为VK_PASTE的常量值,可在KeyListener#keyPressed(KeyEvent e)内部使用
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case KeyEvent.VK_PASTE:
// do stuff when a paste occurs
}
}还有VK_CUT和VK_COPY,它们可能会有所帮助。根据文档,所有这些都应该是系统独立的。
https://stackoverflow.com/questions/9677855
复制相似问题