我在Java Swing中工作,正在生成一个动态表单,其控件名称为opc1_1,opc1_2,opc1_3,opc2_1,opc2_2等。
如何动态获取每个控件的值?
我举了一个非常不好的例子来说明
for(int i = 1; i < 10; i ++) {
Control objControl = get("opc1_" + i);
if(objControl == JComboBox)
System.out.println(objControl.getSelectedItem().toString());
else if(objControl == JTextField)
System.out.println(objControl.getText);
}
非常感谢
最佳答案
使用数组/列表存储Control
对象,代码中Control
对象的名称并不重要。
然后像遍历其他数组/列表一样遍历数组/列表,以获取每个Control
对象的值。
另外,=
用于分配,==
用于比较,并且instanceof
用于检查对象是否为特定类型。通常,您应尝试避免在良好的OO设计中使用instanceof
运算符。