禁用jTextfield中的“粘贴”
我有一个用Swing编写的应用程序,awt。 我想阻止用户将值粘贴到文本字段中。 有没有办法在不使用动作侦听器的情况下执行此操作?
您可以使用如下所示的null参数调用setTransferHandler:
textComponent.setTransferHandler(null);
这将禁用该字段上的所有复制/粘贴操作。
最好的方法是删除组件ActionMap中与CTRL + V键击关联的操作。
最简单的说法: textComponent.setEditable(false);
这会禁用剪切和粘贴,但仍会启用复制。
public class PastlessJTextField extends JTextField { public PastlessJTextField() { super(); } public PastlessJTextField( int columns ){ super( columns ); } @Override public void paste() { // do nothing } }
您可以在JTextComponent
覆盖paste()
方法。