繁体   English   中英

JCombobox和JTextfield

[英]JCombobox and JTextfield

我正在尝试根据组合框中的给定值之一显示一些jtextfield。

因此,我将使用一个1至4的下拉菜单。如果用户选择数字3,则将显示3个文本字段。 我用数字选择创建了jcombobox。 但是我不确定如何实现这一点。 如果我没记错的话,我需要使用

ItemEvent.SELECTED

我想我需要创建对JTextField对象的引用,该引用将可用于JComboBox的itemListener对象。

任何帮助将不胜感激。

我已经将此添加到我的课程中:

// aOption is the combobox I declared 
aOptionComboBox.setModel(new DefaultComboBoxModel(new String[]{"1","2","3"})); 

public void itemStateChanged(ItemEvent event) {

    String num = (String)aOptionComboBox.getSelectedItem(); 
    int num1 = Integer.parseInt(num);
    JTextField[] textfields = new JTextField[num1];

    for (int i = 0; i < num1; i++) 
    {
        textfields[i] = new JTextField("Field");
        getContentPane().add(textfields[i]);
        textfields[i].setBounds(200, 90, 100, 25);

    }
}

我在正确的轨道上吗?

在组合框上使用getSelectedItem()。 这将产生一个字符串或一个整数(取决于您实现它的方式)。 接下来,使用for循环确定JTextField的数量并将其存储在数组中。

int amount = myJComboBox.getSelectedItem();

JTextField[] textfields = new JTextField[amount];

for (int i = 0; i < amount; i++) {
textfields[i] = new JTextField("awesome");
this.add(textfields[i]);
}

这样,您可以轻松地存储文本字段并将其添加到面板中。

一些补充信息。

textfield-array必须在eventListener之外是可访问的,因此您必须在类中实现它。 这样整个班级都可以使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM