Swing/ActionMap のバックアップの現在との差分(No.13)
TITLE:JTextFieldでコピー、貼り付けなどを禁止
Posted by terai at 2005-07-18
JTextFieldでコピー、貼り付けなどを禁止
JTextFieldへのコピー、貼り付け、切り取りを禁止します。- category: swing folder: ActionMap title: JTextFieldでコピー、貼り付けなどを禁止 tags: [JTextField, DefaultEditorKit, ActionMap] author: aterai pubdate: 2005-07-18T15:40:10+09:00 description: JTextFieldへのコピー、貼り付け、切り取りを禁止します。 image:
概要
JTextField
へのコピー、貼り付け、切り取りを禁止します。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
#screenshot
サンプルコード
#spanend
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
Action beep = new DefaultEditorKit.BeepAction();
ActionMap am = field.getActionMap();
#spandel
am.put(DefaultEditorKit.cutAction, beep);
#spanend
#spandel
am.put(DefaultEditorKit.copyAction, beep);
#spanend
#spanadd
am.put(DefaultEditorKit.cutAction, beep);
#spanend
#spanadd
am.put(DefaultEditorKit.copyAction, beep);
#spanend
am.put(DefaultEditorKit.pasteAction, beep);
解説
上記のサンプルでは、JTextFieldのActionMapから、コピーなどのActionを取得し、これらをビープ音を鳴らすDefaultEditorKit.BeepAction()に置き換えています。解説
上記のサンプルでは、JTextField
のActionMap
からコピーなどのAction
を取得し、これらをビープ音を鳴らすDefaultEditorKit.BeepAction()
に置き換えています。
以下のようにcopyメソッドなどをオーバーライドする方法もあります。
- 以下のように
copy
メソッドなどをオーバーライドする方法もあるJTextField field = new JTextField() { public void copy() { @Override public void copy() { UIManager.getLookAndFeel().provideErrorFeedback(this); //java.awt.Toolkit.getDefaultToolkit().beep(); // Toolkit.getDefaultToolkit().beep(); } };
参考リンク
参考リンク
コメント
- べんりねっと顧客運営単位ID -- べんりねっと顧客運営単位ID?