-1

我想从 20 个 java 组件中获取值,10 个是 jtextfields,10 个是 jcombobox,它们的变量名不是 setName()。

这些组件以行格式放置意味着 jtextfield1 然后 cmbbox1 然后 jtextfield2 然后 cmbbox2 等等。现在我想遍历这些组件,并以与将它们放置为 jtextfield1 的值然后 cmbbox1 的值等相同的方式将它们一一获取。

我尽我所能找到答案,但一切都在脉络中。等待您的精彩回应。

4

1 回答 1

1

由于您想保留插入顺序,您可以使用 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());
        }
    }
于 2013-10-12T12:35:03.050 回答