如何在java中的JTextField上多次重复使用动作侦听器?

时间:2016-02-13 23:01:54

标签: java eclipse swing

我的程序应该获取有关某人(姓名,地址,电话)的信息,以便将该人员添加到地址簿中。

我制作了firstfile.push(line) ,其中提供了有关下方输入内容的说明。 JLabel下面是一个JLabel,其JTextField听取了输入的内容。我的方法大约有8 ActionListener个,有ActionListener种方法。我遇到麻烦它无法正常工作。我无法想出任何其他方式。

2 个答案:

答案 0 :(得分:3)

您可以创建侦听器的实例并在整个类中重复使用它,例如:

...

OnChangeListener listener = new OnChangeListener() {
    //All the code here
};

...

textField1.addOnChangeListener(listener);
textField2.addOnChangeListener(listener);
textField3.addOnChangeListener(listener);

...

答案 1 :(得分:3)

最好创建一个表单,可能使用GridBagLayout或MigLayout来保存显示JLabel / JTextField对,这样用户就可以在一个简单的表单上输入所有数据,就像你使用的大多数软件一样。

如果您绝对必须使用单个JTextField,那么您应该使用单个ActionListener,但更改它基于GUI的状态的响应方式。也就是说,也许使用一个int计数器变量,每次输入数据时都会递增,并根据计数器持有的值将监听器对数据的处理作为基础。