每次单击SAVE按钮时我都要保存textField。所以,目前我正在使用getText()方法..它很痛苦,因为我有很多textField要保存。而且,我想将textField.getText()保存到文本文件中。
public static String tf20;
public static String tf21;
public static String tf22;
public static String tf23;
public static String tf24;
public static JTextField textField_20;
public static JTextField textField_21;
public static JTextField textField_22;
public static JTextField textField_23;
public static JTextField textField_24;
tf20=textField_20.getText();//Is there any simple method?
tf21=textField_21.getText();
tf22=textField_22.getText();
tf23=textField_23.getText();
tf24=textField_24.getText();
我的问题是,是否有任何简单的方法来获取所有textField的文本,例如
TF [J] = TextField的[I] .getText(); ?
答案 0 :(得分:1)
可以创建一个JTextField数组。但是你应该知道错误 - 即使你声明了一个JTextField数组,数组中也没有JTextField对象。初始化数组时,需要构造每个JTextField对象。 how to create an Array of JTextField
答案 1 :(得分:0)
简单的例子:
public class Test {
JTextField[] allTextFields;
public Test() {
allTextFields = new JTextField[]{
new JTextField("Text 1"),
new JTextField("Text 2"),
new JTextField("Text 3"),
new JTextField("Text 4"), //...
};
//...
for (JTextField jTextField : allTextFields) {
String currentText = jTextField.getText();
}
}
}
您还可以创建某种地图,它会存储对<String, JTextField>
,这样您就可以轻松访问特定的文本字段(map.getValue("TXT_A")
)并遍历所有字段:
public class Test {
private Map<String, JTextField> map = new HashMap<String, JTextField>();
public Test() {
map.put("TXT_1", new JTextField());
map.put("TXT_2", new JTextField());
map.put("TXT_3", new JTextField());
// etc...
// Access:
String value = map.get("TXT_1").getText();
// Iteration:
for (Map.Entry<String, JTextField> entry : map.entrySet()) {
JTextField currentTextField = entry.getValue();
String currentString = currentTextField.getText();
}
}
}