繁体   English   中英

如何获取动态创建的文本字段的值

[英]How do I get the values of a dynamically created textfield

请谁能帮我解决我的这个代码。 我正在一个需要动态创建文本字段的项目中,尽管我能够创建文本字段,但无法获取需要存储在数组中的用户输入。 这是我使用的代码;

Public void actionPerformed(ActionEvent e){
   String value = textField.getText();
   int values = Integer.parseInt(value);
   int sum = 10;
   for(int I=0; I < values; I++){
       TextField field = new TextField();
       field.setBound(10,sum,107,22);
       Panel.add(field);
       sum += 28;
       }
   }
});

但是我无法编写任何成功的代码来获取textFields的值。

您的问题是访问引用的问题之一-意思是,一旦创建了对象,就没有简便的方法可以在需要时获得对它的正确引用。 一种解决方案是使用诸如ArrayList<TextField>之类的集合作为您的类的字段,然后将创建的对象放入该集合中。 然后,如果您需要它们,则可以轻松地从集合中获取它们。

附带建议:

  • 为什么使用AWT组件而不使用Swing? 换句话说,使用ArrayList<JTextField>并用JTextFields(而不是TextFields)填充它。
  • 避免使用setBounds(...)null布局,因为这会导致非常不灵活的GUI,尽管它们在一个平台上看起来可能不错,但在大多数其他平台或屏幕分辨率上却看起来很糟糕,并且很难更新和维护。

  • 避免使用“魔术”数字,例如此处的硬编码数字: field.setBound(10,sum,107,22);

  • 请改用布局管理器。
  • 您将要学习和使用Java命名约定 变量名都应以小写字母开头,而类名应以大写字母开头。 学习并遵循此规则将使我们能够更好地理解您的代码,并使您能够更好地理解其他人的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM