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