[英]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.