我想从 20 个 java 组件中获取值,10 个是 jtextfields,10 个是 jcombobox,它们的变量名不是 setName()。
这些组件以行格式放置意味着 jtextfield1 然后 cmbbox1 然后 jtextfield2 然后 cmbbox2 等等。现在我想遍历这些组件,并以与将它们放置为 jtextfield1 的值然后 cmbbox1 的值等相同的方式将它们一一获取。
我尽我所能找到答案,但一切都在脉络中。等待您的精彩回应。
我想从 20 个 java 组件中获取值,10 个是 jtextfields,10 个是 jcombobox,它们的变量名不是 setName()。
这些组件以行格式放置意味着 jtextfield1 然后 cmbbox1 然后 jtextfield2 然后 cmbbox2 等等。现在我想遍历这些组件,并以与将它们放置为 jtextfield1 的值然后 cmbbox1 的值等相同的方式将它们一一获取。
我尽我所能找到答案,但一切都在脉络中。等待您的精彩回应。
由于您想保留插入顺序,您可以使用 ArrayList。
您可以执行以下操作 -
List<JComponent> jComponentList = new ArrayList<>();
//add components
for(int i=0;i<10;i++){
JTextField textField = new JTextField();
JComboBox comboBox = new JComboBox();
textField.setName("textField" + i);
comboBox.setName("comboBox" + i);
jComponentList.add(textField);
jComponentList.add(comboBox);
}
//iterate to get values
for(JComponent component : jComponentList) {
if(component instanceof JTextField) {
System.out.println("textField Name is " + component.getName());
}
else if(component instanceof JComboBox) {
System.out.println("jcomboBox Name is " + component.getName());
}
}