だから私は基本的なスイングアプリケーションを持ってい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 キーを押すと、通常どおりテキスト ボックスから 1 文字が削除されます。
SHIFT を押したままにすると、Backspace でテキスト ボックスから文字が削除されないようにする方法はありますか?