Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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 Swing如何使用文档事件_Java_Swing_Events_Key Events_Documentlistener - Fatal编程技术网

java Swing如何使用文档事件

java Swing如何使用文档事件,java,swing,events,key-events,documentlistener,Java,Swing,Events,Key Events,Documentlistener,我希望使用捕获到DocumentListener的insertUpdate方法中的DocumentEvent 我看不到任何方法可以将其作为KeyEvent(e.consume())来防止 我不想使用密钥侦听器,因为无法阻止剪贴板事件(复制粘贴)。 我如何处理这些事件? 如何从cose开始引发文档事件 Isbn13TextField.getDocument().addDocumentListener(new DocumentListener(){ public void i

我希望使用捕获到DocumentListener的insertUpdate方法中的DocumentEvent 我看不到任何方法可以将其作为KeyEvent(e.consume())来防止

我不想使用密钥侦听器,因为无法阻止剪贴板事件(复制粘贴)。 我如何处理这些事件? 如何从cose开始引发文档事件

    Isbn13TextField.getDocument().addDocumentListener(new DocumentListener(){
        public void insertUpdate(DocumentEvent e) {
            e.consume();   //Not Exists, How consume a copy paste?
        }
        public void removeUpdate(DocumentEvent e) {}
        public void changedUpdate(DocumentEvent e) {}   
    });

取决于你想要达到的目标

你可以。。。 使用
DocumentFilter
,可以在输入到达底层
文档之前对其进行过滤。这是由
文档
本身使用的,因此不取决于内容如何从
文档
添加/删除,而是取决于
文档
本身

看一看,尤其是和,作为例子

你可以。。。 使字段不可编辑

Isbn13TextField.setEditable(false)
如何使用复制粘贴

你不能。文档更新后将生成DocumentEvent

如果只想禁用文本字段的复制/粘贴功能,则可以删除键绑定:

KeyStroke copy = KeyStroke.getKeyStroke("control C");
textField.getInputMap().put(copy, "none");