TITLE:JTextFieldでコピー、貼り付けなどを禁止

JTextFieldでコピー、貼り付けなどを禁止

編集者:Terai Atsuhiro~

作成日:2005-07-18
更新日:2023-11-24 (金) 16:02:25
  • 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

概要

JTextFieldへのコピー、貼り付け、切り取りを禁止します。

概要

JTextFieldへのコピー、貼り付け、切り取りを禁止します。

#screenshot

サンプルコード

#spanend
 Action beep  = new DefaultEditorKit.BeepAction();
 ActionMap am = field.getActionMap();
 am.put(DefaultEditorKit.cutAction,   beep);
 am.put(DefaultEditorKit.copyAction,  beep);
 am.put(DefaultEditorKit.pasteAction, beep);
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
Action beep  = new DefaultEditorKit.BeepAction();
#spanend
#spanadd
ActionMap am = field.getActionMap();
#spanend
#spanadd
am.put(DefaultEditorKit.cutAction, beep);
#spanend
#spanadd
am.put(DefaultEditorKit.copyAction, beep);
#spanend
#spanadd
am.put(DefaultEditorKit.pasteAction, beep);
#spanend
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルでは、JTextFieldのActionMapを、コピーなどの変わりにDefaultEditorKit.BeepAction()でビープ音を鳴らすように変更しています。

解説

上記のサンプルでは、JTextFieldActionMapからコピーなどのActionを取得し、これらをビープ音を鳴らすDefaultEditorKit.BeepAction()に置き換えています。 以下のようにcopyメソッドなどをオーバーライドする方法もあります。
  • 以下のようにcopyメソッドなどをオーバーライドする方法もある
     JTextField field = new JTextField() {
       public void copy() {
         java.awt.Toolkit.getDefaultToolkit().beep();
       }
     };
    #spanadd
    JTextField field = new JTextField() {
    #spanend
      @Override public void copy() {
        UIManager.getLookAndFeel().provideErrorFeedback(this);
        // Toolkit.getDefaultToolkit().beep();
      }
    #spanadd
    };
    #spanend
    

参考リンク

参考リンク

コメント

  • あああ -- あああ
  • あああ -- あああ

コメント