如何使用另一个comboboxswing来控制combobox

我有两个combobox,第一个项目是(女性和男性)。我想当用户在第一个combobox中选择女性时,女性服装列表将出现在第二个combobox中,当男性被选中时,男士服装列表将出现在第二个。可以使用JCombo框执行此function吗? 如果是的话我该怎么办呢?请给我举个例子。 任何帮助将不胜感激。

查看如何使用如何使用combobox以及如何使用列表 totorials中的模型。 根据第一个combobox中的选择 – 重建,过滤或替换第二个combobox的模型。 您可以使用/ extend DefaultComboBoxModel – JComboBox使用的默认模型。 例如,请考虑以下代码段:

 final JComboBox genderComboBox = null; final JComboBox itemComboBox = null; final DefaultComboBoxModel hisModel = new DefaultComboBoxModel(new String[]{"a", "b", "c"}); final DefaultComboBoxModel herModel = new DefaultComboBoxModel(new String[]{"x", "y", "z"}); genderComboBox.addActionListener (new ActionListener () { public void actionPerformed(ActionEvent e) { if ("Men".equals(genderComboBox.getSelectedItem())){ itemComboBox.setModel(hisModel); } else { itemComboBox.setModel(herModel); } } }); 

或者,在第一个组合中选择后,您可以手动重建第二个组合中的项目,即:使用JComboBox方法removeAllItems()addItem()

您必须将事件侦听器添加到第一个combobox 。 通过这种方式,您可以知道其选择何时发生变化,您可以查询它并使用适当的数据填充第二个combobox。

更多信息请访问http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#listeners