TITLE:JTextFieldでコピー、貼り付けなどを禁止
#navi(../)
*JTextFieldでコピー、貼り付けなどを禁止 [#r23749cb]
Posted by [[terai]] at 2005-07-18

#contents

**概要 [#ldf1ee46]
JTextFieldへのコピー、貼り付け、切り取りを禁止します。

-&jnlp;
-&jar;
-&zip;

#screenshot

**サンプルコード [#q4e703c6]
#code{{
Action beep  = new DefaultEditorKit.BeepAction();
ActionMap am = field.getActionMap();
am.put(DefaultEditorKit.cutAction,   beep);
am.put(DefaultEditorKit.copyAction,  beep);
am.put(DefaultEditorKit.pasteAction, beep);
}}

**解説 [#s4d2204f]
上記のサンプルでは、JTextFieldのActionMapから、コピーなどのActionを取得し、これらをビープ音を鳴らすDefaultEditorKit.BeepAction()に置き換えています。

以下のようにcopyメソッドなどをオーバーライドする方法もあります。

#code{{
JTextField field = new JTextField() {
  public void copy() {
    UIManager.getLookAndFeel().provideErrorFeedback(this);
    //java.awt.Toolkit.getDefaultToolkit().beep();
  }
};
}}

**参考リンク [#v67f2db4]
-[[DefaultEditorKitでポップアップメニューからコピー>Swing/DefaultEditorKit]]

**コメント [#rcf709b5]
#comment