我有一个运行良好的文档侦听器。但是,我想为其添加一些功能,以便当用户按下 Enter 键时,焦点会转移到另一个对象。我不知道如何捕获这个。这是我的代码:
txtNum1.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
setAnswer(e);
}
@Override
public void removeUpdate(DocumentEvent e) {
setAnswer(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
setAnswer(e);
}
private void setAnswer(DocumentEvent e) {
if (txtNum1.getText().equals("")) {
num1 = 0;
} else {
num1 = Integer.parseInt(txtNum1.getText());
}
calcAnswer();
System.out.println(e); //trying to output the event 'Enter'
}
我可以通过一个关键的听众来做到这一点,但在使用这种方法之前,我在这个网站上被骂过,所以我试图以正确的方式学习这一点。
谢谢!
编辑:根据下面的建议,我添加了以下代码,但似乎没有效果。谁能看到我错过了什么?谢谢!
/* If the user hits the Enter key, we want the focus to shift to
* the next text field */
txtNum1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
txtNum2.requestFocus();
}
});