0

我被分配了一项任务,但我对 Java 完全陌生(我已经用 C++ 和 Python 编程两年了)。

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

假设我们有一个名为“Text 1”和“Text 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行......

4

2 回答 2

3

嗯,你有textfield1.requestFocus(),但你的描述会暗示你需要textfield2.requestFocus()。(即2)。

于 2011-02-11T04:09:08.130 回答
2

另一种选择可能是使用:

textField1.transferFocus();

这样您就不需要知道表单上下一个组件的名称。

于 2011-02-11T05:07:59.547 回答