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

时间:2016-01-30 14:48:31

标签: java swing netbeans jtextfield

我想创建一个与学生相关的小型 Netbeans 应用程序。我有两个 JTextFields 。在这个 JTextFields 中,我想显示一些像" apple" 这样的词,然后想要显示 "芒果&#34 ; 等。

详情如下。

  1. 当应用程序启动时,我想在JtextField1中显示为 " apple" 。 当学生输入相同或错误的条目时,自动移动到同一个JTextfield1中的下一个单词 " mango"

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

1 个答案:

答案 0 :(得分:1)

我猜你有两个JTextFields,一个是用户不应该编辑的,只能用于显示 - 所以通过

使该字段不可编辑
  1. 调用setFocusable(false)以便JTextField永远无法获得焦点
  2. 如果您愿意,请致电setEditable(false)
  3. 在你的第二个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
        }
    });
    

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