我得到了一份任务,但是我对Java完全陌生(我已经用C ++和Python编程了两年了)。

因此,我们正在做GUI,基本上我们扩展了JFrame并添加了几个字段。

假设我们有一个名为“文本1”和“文本2”的字段。当用户在文本1中用光标按下Enter键时,将焦点移至文本2。我试图添加

private JTextField textfield1() {

    textfield1 = new JTextField();
    textfield1.setPreferredSize(new Dimension(200, 20));

    textfield1.addActionListener(
                           new ActionListener() {
                        public void actionPerformed(ActionEvent e) {

                            textfield1text = textfield1.getText().trim();
                            textfield1.setText(textfield1text);
                            System.out.println(textfield1text);

                            textfield1.requestFocus();
                        }
                    });

    return textfield1;
}


但这根本不起作用。

我注意到不建议使用requestFocus,而应该使用requestFocusWindows。但是我也尝试过。经过一些阅读,似乎我必须做键盘操作和听众?但是我的老师说只需要1行...

最佳答案

好的,您有textfield1.requestFocus(),但是您的描述意味着您需要textfield2.requestFocus()。 (即2)。

07-27 18:45