在空JTextField中按下退格键时禁用蜂鸣声

时间:2012-11-17 02:48:04

标签: java jtextfield backspace beep

初学者。当按下退格并且字段为空时,是否有人知道一种快速简便的方法让JTextField不发出蜂鸣声?我在网上看到了一些关于改变DefaultEditorKit的事情,但我没有能够理解。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

这段代码对我有用。

Action beep = textArea.getActionMap().get(DefaultEditorKit.deletePrevCharAction);
beep.setEnabled(false);

答案 1 :(得分:0)

编辑:我稍后再提出一个可能更容易做到的答案。我先读一下。

您可以尝试覆盖JTextField的processKeyEvent方法,并检查是否1.)按下的键是退格键,以及2.)JTextField为空。如果其中任何一个都是假的,那么它应该表现得正常。否则,您可以从方法返回。

答案 2 :(得分:0)

我没有机会试试这个,但你可以禁用哔声动作。

JTextField field = new JTextField();
Action action;
a = field.getActionMap().get(DefaultEditorKit.beepAction);
a.setEnabled(false);