Java JTextPane和键盘输入

Java JTextPane和键盘输入,java,swing,netbeans,jscrollpane,jtextpane,Java,Swing,Netbeans,Jscrollpane,Jtextpane,我有一个有趣的问题 我在JScrollPane中有一个JTextPane,它与样式化的文本相关联。文本是从外部设备生成的,然后传递到样式文档(看起来像终端窗口)。我使用按键侦听器将im键入的每个字符发送到设备,然后该字符从外部设备打印到文档中。这真是太棒了!我再高兴不过了 除了 当我按enter或back space时,会播放windows boink错误声音。当我在JTextPane中按enter键或backspace键时,如何覆盖它以不播放boink声音 谢谢 密钥侦听器的当前代码

我有一个有趣的问题

我在JScrollPane中有一个JTextPane,它与样式化的文本相关联。文本是从外部设备生成的,然后传递到样式文档(看起来像终端窗口)。我使用按键侦听器将im键入的每个字符发送到设备,然后该字符从外部设备打印到文档中。这真是太棒了!我再高兴不过了

除了

当我按enter或back space时,会播放windows boink错误声音。当我在JTextPane中按enter键或backspace键时,如何覆盖它以不播放boink声音

谢谢

密钥侦听器的当前代码

    addKeyListener(new KeyAdapter() {

        @Override
        public void keyTyped(KeyEvent ke) {
           //Absorb this action.
        }

        @Override
        public void keyReleased(KeyEvent ke) {
            //Absorb this action.
        }

        @Override
        public void keyPressed(KeyEvent evt) {

            char c = evt.getKeyChar();

            if (((byte) c) == 0x0A) {
                c = ((char) 0x0D);
            }

            try {
                rumIO.write(c);
            } catch (Exception e) {
            }
        }
    });
代码修复了它

addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent evt) {
            InputMap inputMap = getInputMap();
            ActionMap actionMap = getActionMap();
            KeyStroke keyStroke = KeyStroke.getKeyStrokeForEvent(evt);
            inputMap.put(keyStroke, "doNothing");
            actionMap.put("doNothing", new AbstractAction() {

                @Override
                public void actionPerformed(ActionEvent ae) {
                    //Do Nothing
                }
            });


            char c = evt.getKeyChar();

            if (((byte) c) == 0x0A) {
                c = ((char) 0x0D);
            }

            try {
                rumIO.write(c);
            } catch (Exception e) {
            }
        }
    });

JTextPane使用。您可以覆盖和中所示的默认行为。

JTextPane使用。您可以覆盖和中显示的默认行为。

这正是我所需要的!谢谢我贴出了我的修正图,这就是我需要的!谢谢我把我的修正贴在上面。