Java 读取ArrayList JTextFields

Java 读取ArrayList JTextFields,java,swing,arraylist,jtextfield,Java,Swing,Arraylist,Jtextfield,我的程序开始时会提示用户希望有多少文本字段 public class textEvent1 implements ActionListener { //action listener for "how many masses?" public void actionPerformed (ActionEvent e) { n = (int)(Double.parseDouble(massNumField.getText())); 接

我的程序开始时会提示用户希望有多少文本字段

public class textEvent1 implements ActionListener {    //action listener for "how many masses?"
            public void actionPerformed (ActionEvent e) {
                n = (int)(Double.parseDouble(massNumField.getText())); 
接下来,我创建一个for循环来创建标签和文本字段(我已经为它们创建了列表,因为我不知道会有多少)。这里有几个列表,但我只举一个例子

ArrayList masses = new ArrayList();

    for(int i=1; i<=n; i++) {                                  //adds text event 2 text to the screen
                        massLabel = new JLabel("How much mass does Mass " +i+ " have? ");
                        massField = new JTextField(5);
                        masses.add(massField);
第151行是

mass =  Double.parseDouble(((JTextComponent) masses.get(i)).getText());

创建
JTextFields
时,需要执行以下操作:

for(int i=1; i<=n; i++) {
    ...
或者您可以使用增强for循环,除非您需要使用古老的java版本:

for (Object massField : masses) {
    mass =  Double.parseDouble(((JTextComponent) massField).getText());
    ...

(如果java版本支持泛型,那么您也应该真正使用泛型)。

您可以编辑您的问题,包括如何创建和设置
masks
变量吗?我怀疑这可能就是问题所在。(点击问题左下角的
编辑
按钮)“任何建议都非常有用。”我建议你问一个问题。。另外:1)为了更快地获得更好的帮助,请发布一个。2) 始终复制/粘贴错误和异常输出。顺便问一下,是否有特殊原因不使用
ArrayList
?这将节省演员阵容,有利于打字安全。是的,我试过了,但出于某种奇怪的原因,它没有接受。它给出了一条警告:“类型ArrayList不是泛型的;它不能用参数参数化”@davidjarin看起来您导入了错误的
ArrayList
。它应该是
java.util.ArrayList
for(int i=1; i<=n; i++) {
    ...
for (int i = 0; i < n; i++) {
    ...
for (Object massField : masses) {
    mass =  Double.parseDouble(((JTextComponent) massField).getText());
    ...