当我将焦点放在不可编辑的 JTextField 或 JTextPane 上时,如何消除声音?
每当我将焦点转移到不可编辑的 JTextPane 并按 Enter 键时,就会播放相当于 Toolkit 类的“嘟嘟声”的声音:
Toolkit.getDefaultToolkit.beet();
怎样才能让它不播放声音?
最佳答案
你也许可以尝试这个想法 question ,引用:
这个想法是获取文本字段的蜂鸣 Action 并禁用它。
JTextField field = new JTextField();
Action action;
action = field.getActionMap().get(DefaultEditorKit.beepAction);
action.setEnabled(false);
如果这不起作用,您可以尝试添加一个 KeyListener
,它将消耗导致蜂鸣声的 KeyEvent
。
JTextField textField = new JTextField();
textField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER){
// will consume the event and stop it from processing normally
e.consume();
}
}
});
关于java - 如何删除焦点转移到不可编辑的 JTextComponent 时播放的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223439/