0

我正在构建一个聊天程序。用户可以选择按 JButton SEND 或直接按键盘上的 ENTER 来发送消息。这是我的代码。

private void chatTextAreaKeyPressed(java.awt.event.KeyEvent evt) {                                        

        if(evt.getKeyCode() == KeyEvent.VK_ENTER) {

            this.sendButtonActionPerformed(null);
            this.chatTextArea.setText(null); // Clear JTextBox
        }
    } 

这样做的问题是,在按下 ENTER 后,它将 JTextBox 设置为一个空的新行。这样我接下来输入的任何内容都将始终位于第二行,而不是从空文本框开始。

有人有什么想法吗?非常感激。

4

1 回答 1

1

您需要使用该事件evt.consume()以确保它不被文本字段本身处理。

这表明事件的所有处理都已完成,其他侦听器不应对该事件采取行动。

于 2013-03-17T09:23:12.423 回答