【问题标题】:java key pressed event off by one letterjava按键事件关闭一个字母
【发布时间】:2025-12-14 02:35:01
【问题描述】:

这是我用来测试的方法:

     private void searchFieldKeyTyped(java.awt.event.KeyEvent evt) {                                     
        String query = searchField.getText();
        System.out.println(query);
     } 

如果我输入一个字母,查询包含一个空字符串 如果我输入另一个字母,查询包含单个前一个字母

所以如果我输入“a”,则查询为空
如果我输入“ab”,查询包含“a”
如果我输入“abc”,查询包含“ab”
如果我输入“abcd”,查询包含“abc”
等等。

【问题讨论】:

  • 您是否尝试过使用其他事件,例如 KEY_RELEASED?
  • 它工作!谢谢!!!
  • 确保您选择了一个答案,这样其他用户就不必来找这个答案了。
  • 我马上试了,但它说我必须等 10 分钟或什么的,所以我想起来了就回来了

标签: java keypress key-events


【解决方案1】:

如 cmets 中所述,使用 KEY_RELEASED 而不是 KEY_PRESSED。

【讨论】: