所以我有一个基本的摇摆应用程序,它包含一个JTextfield
,我添加以下KeyListener
内容:
public class PromptKeyListener implements KeyListener {
private boolean SHIFT_PRESSED;
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
//Do Thing A
} else if (e.getKeyCode() == KeyEvent.VK_SHIFT) {
this.SHIFT_PRESSED = true;
}
if (SHIFT_PRESSED
&& e.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
//Do Thing B
}
}
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SHIFT) {
this.SHIFT_PRESSED = false;
}
System.out.println(SHIFT_PRESSED);
}
@Override
public void keyTyped(KeyEvent e) {
}
}
问题是当我按住 SHIFT 和 Backspace 时,事情 B 确实发生了,但 Backspace 键也像往常一样从文本框中删除了一个字符。
按住 SHIFT 时,有没有办法防止 Backspace 从文本框中删除字符?