我正在尝试将3个不同的Jtextfield发送到ArrayList,但是我收到错误:
"forms" cannot be resolved in this line: forms.add(form);
以下是发送数据的整个按钮代码:
// button add
btnAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
Product form = new Product();
form.date = textDate.getText();
form.fac = textFac.getText();
form.total = Long.parseLong(textTotal.getText());
forms.add(form);
}
});
ArrayList被称为“表单”:
package dao;
import entities.*;
import java.util.*;
import javax.swing.JTextField;
import java.text.*;
import javaapplication1.*;
public class ProductModel{
public List<Product> findAll(){
try {
List<Product> forms = new ArrayList<Product>();
JTextField textDate;
JTextField textFecha;
JTextField textTotal;
return forms;
} catch (Exception e){
return null;
}
}
}
所以,我真的不知道为什么forms.add(form);
不起作用。我确实有import thePackageOfthearraylist.*;
,但我仍然不知道为什么它不起作用。
答案 0 :(得分:0)
您必须创建java.util.ArrayList
类型的表单变量。将此变量设为全局变量或局部变量,并使用ProductModel.finalAll
方法对其进行初始化。
List<Product> forms=new ArrayList<Product>();
// button add
btnAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
Product form = new Product();
form.date = textDate.getText();
form.fac = textFac.getText();
form.total = Long.parseLong(textTotal.getText());
forms.add(form);
}
});
全局意味着在类级别,本地意味着在方法
中创建的变量答案 1 :(得分:0)
要在actionPerformed方法中使用arraylist“forms”,必须在actionPerformed方法的本地范围内定义和初始化列表,或者在包含actionPerformed方法的类的全局范围中定义该列表。