在我的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());