如何在不使用 Jbutton 的情况下更改 Jtextbox 值



我想创建一个与在校学生相关的小型 Netbeans 应用程序。我有两个 JTextFields。在这个JTextFields中,我想显示一些单词,如"苹果",然后想要显示"芒果"等。

详情如下。

  1. 当应用程序启动时,我想在 JtextField1 中显示为"苹果"。当学生将其键入为相同或错误的条目时,然后自动移动到同一JTextfield1中的下一个单词"芒果"。

  2. 在此应用程序中,JButton 将不会被使用。

我猜你有两个JTextFields,一个用户不应该编辑,仅用于显示 - 所以使该字段不可编辑

  1. 调用setFocusable(false),因此 JTextField 永远无法接收焦点
  2. 如果您愿意,请致电setEditable(false)

在你的第二个 JTextField 中,通过addActionListener(...)给它一个 ActionListener,在侦听器内部让代码检查第二个 JTextField 的文本,如果不正确,则更改第一个 JTextField 中的文本。

firstTextField.setFocusable(false);
firstTextField.setEditable(false);
secondTextField.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        String text = secondTextField.getText();
        // here check the text String and if incorrect
        // call setText(...) on the firstTextField
    }
});

请注意,通过将 ActionListener 添加到 JTextField 本身,您现在拥有一个侦听器,当此字段具有焦点时,当用户按下 Enter 按钮时,该侦听器将被激活。不需要 JButton 即可正常工作。

相关内容

最新更新