【发布时间】:2021-04-04 15:31:45
【问题描述】:
(使用 Java 15.0.1) 我正在为学校编写一个程序,当用户在 JList 上按下“DEL”键时应该执行一些代码。 我尝试了一些代码,这就是我得到的结果:
rechnungen.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent keyEvent) {
char key = keyEvent.getKeyChar();
System.out.println(key);
}
当我现在在该 JList 上按下键时,我会在命令行中获得输出。 当我想检测“DEL”键时,我试过了,它给了我这个:
在 Intelliq 中粘贴它会给我:DEL 在某些有线空间
这个:
那是一个字符串,所以如果我想做一个 switch case 的事情来执行特定键上的代码,它会告诉我我可以将一个字符串与一个字符进行比较。
我该怎么做?
【问题讨论】:
-
您应该使用
Key Bindings将KeyStroke映射到Action。阅读 How to Use Key Bindings 上的 Swing 教程中的部分以获取更多信息。该教程还有一个关于How to Use Actions的部分。 -
当用户按下键盘上的Delete键时,是否要删除
JList中的选中项? -
@Abra 是的......哦,我把这个问题搞砸了......但是是的,这是我的意图。如果这个问题很愚蠢,我很抱歉,我对 java 真的很陌生。
标签: java swing jlist keylistener