在我的Java项目中,我想检查几个不同类(使用完全相同的代码)中每个JTextField中的输入。

现在,我一遍又一遍地复制了相同的代码,并建议我使用2个选项:


创建一个方法并调用该方法。
创建一个新类,该类从具有所需方法的另一个类(尚不知道哪个类)扩展。


我现在使用的代码是:

totalAmount.addKeyListener(new KeyAdapter() {
@Override
    public void keyTyped(KeyEvent arg0) {
    //do something
    }
});


新类是:

public class Listener extends KeyAdapter {
    public void keyTyped(KeyEvent arg0){
    //do something
    }
}


问题是我不知道我是否在扩展正确的类,以及如何使用我编写的新类...

提前致谢!

最佳答案

使用钥匙适配器来完成您想要的事情

totalAmount.addKeyListener(new Listener());


并且您的密钥适配器的代码是正确的。

public class Listener extends KeyAdapter {
    public void keyTyped(KeyEvent arg0){
        //do something
    }
}


要从JTextField获取文本,您可以在keyAdapter中使用此代码

System.out.println(totalAmount);


或者,最好使用文档侦听器。这将通过

public class documentListener implements DocumentListener //This is a listener
{
    public void changedUpdate(DocumentEvent e){

    }

    public void removeUpdate(DocumentEvent e){
        int lengthMe = e.getDocument().getLength();
        System.out.println(e.getDocument().getText(0,lengthMe));
    }

    public void insertUpdate(DocumentEvent e){
        int lengthMe = e.getDocument().getLength();
        System.out.println(e.getDocument().getText(0,lengthMe));
    }
}


它将被添加到JTextField

totalAmount.getDocument().addDocumentListener(new documentListener());

09-05 12:37
查看更多