1

初心者はこちら。バックスペースが押されてフィールドが空のときにビープ音を鳴らさないように JTextField をすばやく簡単に取得する方法を知っている人はいますか? DefaultEditorKit の変更についてオンラインでいくつか見たことがありますが、何も理解できませんでした。どんな助けでも大歓迎です。

4

3 に答える 3

3

このコードは私のために働いた。

Action beep = textArea.getActionMap().get(DefaultEditorKit.deletePrevCharAction);
beep.setEnabled(false);
于 2015-02-20T21:21:23.087 に答える
0

これを試す機会はありませんでしたが、ビープ動作を無効にできるかもしれません。

JTextField field = new JTextField();
Action action;
a = field.getActionMap().get(DefaultEditorKit.beepAction);
a.setEnabled(false);
于 2012-11-17T04:05:20.423 に答える
0

編集:後で別の答えを出します。おそらくもっと簡単です。私はそれを最初に読みます。

JTextField のprocessKeyEventメソッドをオーバーライドして、1.) 押されたキーがバックスペース キーであり、2.) JTextField が空であるかどうかを確認することができます。これらのいずれかが false の場合、通常どおりに動作するはずです。それ以外の場合は、メソッドから戻ることができます。

于 2012-11-17T03:45:13.123 に答える