1

我想防止从JTextArea. 最好的方法是什么?我找到了KeyListner 解决方案,但似乎不是最好的。我不想为此使用密钥侦听器。有没有我可以使用的快捷方法/方式?

4

2 回答 2

5

未经测试,但我会简单地覆盖copy()cut()

@Override
public void copy() {
    // does nothing
}

@Override
public void cut() {
    // does nothing
}

查看源代码,它应该可以工作,因为这是 JPasswordField 为防止剪切/复制所做的。

于 2013-07-28T11:04:59.130 回答
4

您可以使用KeyBindings

textField.getInputMap().put(KeyStroke.getKeyStroke("control C"), "preventCopy");
textField.getActionMap().put("preventCopy", new AbstractAction(){
     public void actionPerformed(ActionEvent e) {
          //do something else when user presses control+c
      }
});
于 2013-07-28T11:09:25.993 回答