5

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

4

5 回答 5

23

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

textComponent.setTransferHandler(null);

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

于 2011-09-20T20:09:56.437 回答
5

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

于 2008-11-25T11:08:55.320 回答
2

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

这将禁用剪切和粘贴,但仍启用复制。

于 2010-02-26T17:36:28.020 回答
1
public class PastlessJTextField extends JTextField {

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

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


    }
于 2017-06-07T17:49:52.190 回答
0

您也许可以覆盖paste().JTextComponent

于 2008-11-25T08:32:10.113 回答