在jTextfield中禁用“粘贴”

时间:2008-11-25 08:18:24

标签: java swing awt jtextfield

我有一个用Swing编写的应用程序,awt。 我想阻止用户将值粘贴到文本字段中。 有没有办法在不使用动作侦听器的情况下执行此操作?

5 个答案:

答案 0 :(得分:17)

您可以使用如下所示的null参数调用setTransferHandler:

textComponent.setTransferHandler(null);

这将禁用该字段上的所有复制/粘贴操作。

答案 1 :(得分:5)

最好的方法是删除组件ActionMap中与CTRL + V键击相关的操作。

答案 2 :(得分:2)

最简单的说法:textComponent.setEditable(false);

这会禁用剪切&粘贴,但仍然启用了复制。

答案 3 :(得分:1)

public class PastlessJTextField extends JTextField {

        public PastlessJTextField() {
            super();
        }
        public PastlessJTextField( int columns ){
            super( columns );
        }

        @Override
        public void paste() {
            // do nothing
        }


    }

答案 4 :(得分:0)

您可以覆盖paste()中的JTextComponent方法。