gpt4 book ai didi

java - 为什么 JTextArea 中的 KeyListener 之后要添加一个空格来构成字符串?

转载 作者:行者123 更新时间:2023-12-01 13:43:50 25 4
gpt4 key购买 nike

首先我制作了一个简单的打字程序。如果您键入字母并按空格键,TTextArea 将与标签文本进行匹配以查看是否匹配。但它总是出现错误,因为每次第一次输出后的字母前都会添加空格,我不明白为什么?这是刚刚发生的事情还是可以发生

这是我的代码

public void keyTyped(KeyEvent e) {
if(e.getKeyChar() == KeyEvent.VK_SPACE){
input = textArea.getText();
if(input.length() <= 0){
JOptionPane.showMessageDialog(null, "Type something first");
} else {
input.trim();
System.out.println(input);
gameLogic.score(input, letterLabel.getText());
gameLogic.error(input, letterLabel.getText());
scoreLabel.setText("Score: " + String.valueOf(gameLogic.score));
errorLabel.setText("Errors: " + String.valueOf(gameLogic.error));
gameLogic.changeDifficulty();
letterLabel.setText( gameLogic.changeText());
textArea.setText("");
textArea.setCaretPosition(0);
}
}

这是我的输出

   l
l
x
k
ss

最佳答案

有几件事...

KeyListener 不是处理监视或影响任何文本组件更改的推荐方法。如果您足够幸运,该组件没有消耗该击键,则该组件已经使用最后一次击键进行了更新。

如果您只想监视文本组件的更改,更好的方法是使用 DocumentListener;如果您想更改传递给的内容,则使用 DocumentFilter领域。

查看Using Text Components了解更多详情

关于java - 为什么 JTextArea 中的 KeyListener 之后要添加一个空格来构成字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20486671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com