问题
Is there a simple way to cancel the user input in a JTextField when key Esc is pressed ?
I mean something different that a key listener and a data backup.
Thanks
回答1:
Add a KeyListener to your JTextField:
JTextField field = new JTextField.addKeyListener(yourKeyListener);
where yourKeyListener could be:
public class YourKeyListener implements KeyListener{
void keyPressed(KeyEvent e){
Component source = e.getSource();
if (source instanceof JTextField && e.getId() == KeyEvent.VK_ESCAPE ){
JTextField f = (JTextField) source;
f.setText("");
}
}
}
回答2:
CancelAction
, discussed here and shown here, is an example that uses Action and a key binding.
来源:https://stackoverflow.com/questions/7173674/simple-way-to-cancel-user-input-on-esc-key-pressed