[英]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>
之类的集合作为您的类的字段,然后将创建的对象放入该集合中。 然后,如果您需要它们,则可以轻松地从集合中获取它们。
附带建议:
ArrayList<JTextField>
并用JTextFields(而不是TextFields)填充它。 避免使用setBounds(...)
和null
布局,因为这会导致非常不灵活的GUI,尽管它们在一个平台上看起来可能不错,但在大多数其他平台或屏幕分辨率上却看起来很糟糕,并且很难更新和维护。
避免使用“魔术”数字,例如此处的硬编码数字: field.setBound(10,sum,107,22);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.