使用 keylistener "enter" 发送消息时,为什么会出现额外的换行符?

When sending message with keylistener "enter" why do I get and extra linebreak?

github link

按下回车键时,我想使用 FXML 通过事件发送消息:

textFieldInput.setOnKeyPressed(keyEvent -> {
    try {
        if (keyEvent.getCode() == KeyCode.ENTER)  {
                String text = textFieldInput.getText();
                send(text);
        }
    } catch (Exception exception) {
        textFieldInput.setText("message not sent! -something went wrong... \n");
    }
});

发送函数:

public void send(String message) {
    try {
        output.println(ClientController.USERNAME + ": " + message);
        output.flush();
        textFieldInput.clear();
    } catch (Exception exception) {
        output.println("message not sent! -something went wrong... \n");
    }
}

我的问题是,在我发送一条消息后,程序又添加了一个 "keystroke",因此我的 return 键再次被按下,并在文本字段区域添加了一个新行。我不明白为什么和在哪里?

使用 KeyEvent 防止使用以下代码输入密钥。

textFieldInput.setOnKeyPressed(event -> {
        if (event.isControlDown()) {
            KeyEvent newEvent= new KeyEvent(null, null, null, null, false, false, false, false);
            textFieldInput.fireEvent(newEvent);
        }
        event.consume();
        if (event.getCode() == KeyCode.ENTER) {
            send(textFieldInput.getText());
        }

    });