【问题标题】:JTextPane and keyboard inputJTextPane 和键盘输入
【发布时间】:2012-09-28 23:08:00
【问题描述】:

我有一个有趣的问题。

我在 JScrollPane 中有一个 JTextPane,其中填充了样式文本。文本从外部设备生成,然后传递给 StyledDocument(它看起来像一个终端窗口)。我使用按键侦听器将输入的每个字符发送到设备,然后将字符从外部设备打印到文档中。这工作得很好!我再高兴不过了!

除了!

当我按下回车键或退格键时,会播放 Windows“boink”错误声音。当我按下回车键或退格键时,如何覆盖 JTextPane 以不播放“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) {
            }
        }
    });

【问题讨论】:

    标签: java swing netbeans jscrollpane jtextpane


    【解决方案1】:

    JTextPane 使用Key Bindings。您可以覆盖tutorial 和此example 中所示的默认行为。

    【讨论】:

    • 这就是我所需要的!谢谢。我在顶部发布了我的修复。
    猜你喜欢
    • 2015-07-05
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多