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 的processKeyEvent方法并检查 1.) 按下的键是否是退格键和 2.) JTextField 是否为空。如果其中任何一个为假,那么它应该表现正常。否则,您可以从该方法返回。

于 2012-11-17T03:45:13.123 回答
0

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

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