Swing/ActionMap のバックアップ(No.18)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ActionMap へ行く。
- 1 (2005-07-17 (日) 15:40:10)
- 2 (2005-10-17 (月) 20:15:47)
- 3 (2006-02-27 (月) 15:24:44)
- 4 (2006-04-12 (水) 19:32:08)
- 5 (2006-06-24 (土) 17:00:34)
- 6 (2006-11-19 (日) 13:43:21)
- 7 (2007-04-06 (金) 14:38:16)
- 8 (2007-04-06 (金) 18:47:11)
- 9 (2007-07-18 (水) 12:39:27)
- 10 (2008-02-29 (金) 20:32:58)
- 11 (2008-09-03 (水) 01:11:55)
- 12 (2009-04-01 (水) 11:15:24)
- 13 (2009-04-01 (水) 16:05:59)
- 14 (2010-12-12 (日) 23:15:40)
- 15 (2013-03-27 (水) 16:48:26)
- 16 (2013-10-17 (木) 04:24:17)
- 17 (2015-03-29 (日) 15:23:43)
- 18 (2016-06-23 (木) 12:32:17)
- 19 (2016-08-16 (火) 13:39:48)
- 20 (2017-10-05 (木) 14:27:51)
- 21 (2019-04-11 (木) 13:25:30)
- 22 (2021-01-24 (日) 03:43:33)
- 23 (2023-11-24 (金) 16:02:25)
- title: JTextFieldでコピー、貼り付けなどを禁止 tags: [JTextField, DefaultEditorKit, ActionMap] author: aterai pubdate: 2005-07-18 description: JTextFieldへのコピー、貼り付け、切り取りを禁止します。
概要
JTextField
へのコピー、貼り付け、切り取りを禁止します。
Screenshot
Advertisement
サンプルコード
Action beep = new DefaultEditorKit.BeepAction();
ActionMap am = field.getActionMap();
am.put(DefaultEditorKit.cutAction, beep);
am.put(DefaultEditorKit.copyAction, beep);
am.put(DefaultEditorKit.pasteAction, beep);
View in GitHub: Java, Kotlin解説
上記のサンプルでは、JTextField
のActionMap
から、コピーなどのAction
を取得し、これらをビープ音を鳴らすDefaultEditorKit.BeepAction()
に置き換えています。
以下のようにcopy
メソッドなどをオーバーライドする方法もあります。
JTextField field = new JTextField() {
@Override public void copy() {
UIManager.getLookAndFeel().provideErrorFeedback(this);
//Toolkit.getDefaultToolkit().beep();
}
};