1

からのテキストのコピーを防止したいJTextArea。それを行うための最良のアプローチは何ですか?KeyListner 解決策を見つけましたが、最善のようには思えませんでした。そのためにキーリスナーを使用したくありません。使用できるショートカット方法/方法はありますか?

4

2 に答える 2

5

テストはしていませんが、単純に and をオーバーライド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 に答える