• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JTextFieldでコピー、貼り付けなどを禁止
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2005-07-18
*JTextFieldでコピー、貼り付けなどを禁止 [#r23749cb]
JTextFieldへのコピー、貼り付け、切り取りを禁止します。
---
category: swing
folder: ActionMap
title: JTextFieldでコピー、貼り付けなどを禁止
tags: [JTextField, DefaultEditorKit, ActionMap]
author: aterai
pubdate: 2005-07-18T15:40:10+09:00
description: JTextFieldへのコピー、貼り付け、切り取りを禁止します。
image: https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTHX8kSixI/AAAAAAAAARE/cRSBUI5TJWo/s800/ActionMap.png
---
* 概要 [#summary]
`JTextField`へのコピー、貼り付け、切り取りを禁止します。

-&jnlp;
-&jar;
-&zip;
#download(https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTHX8kSixI/AAAAAAAAARE/cRSBUI5TJWo/s800/ActionMap.png)

//#screenshot
#ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTHX8kSixI/AAAAAAAAARE/cRSBUI5TJWo/s800/ActionMap.png)

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

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

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

- 以下のように`copy`メソッドなどをオーバーライドする方法もある
#code{{
JTextField field = new JTextField() {
  public void copy() {
  @Override public void copy() {
    UIManager.getLookAndFeel().provideErrorFeedback(this);
    //java.awt.Toolkit.getDefaultToolkit().beep();
    // Toolkit.getDefaultToolkit().beep();
  }
};
}}

**参考リンク [#v67f2db4]
-[[DefaultEditorKitでポップアップメニューからコピー>Swing/DefaultEditorKit]]
-[[JComponentのKeyBinding一覧を取得する>Swing/KeyBinding]]
* 参考リンク [#reference]
- [[DefaultEditorKitでポップアップメニューからコピー>Swing/DefaultEditorKit]]
- [[JComponentのKeyBinding一覧を取得する>Swing/KeyBinding]]
- [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/text/DefaultEditorKit.html DefaultEditorKit (Java Platform SE 8)]

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