2012-04-28 52 views
3

我有兩個組合框的項目第一個是(女性和男性)。我想當用戶在第一個組合框中選擇女性女裝的列表將出現在第二個組合框,當選擇男士時,男士連衣裙的名單將出現在第二位。可以使用JCombo盒子來做這個功能嗎?如果是的話,我該怎麼做,請給我舉例。 任何幫助將不勝感激。如何通過使用另一個組合框擺動控制組合框

回答

12

退房如何與模型How to Use Combo BoxesHow to Use Lists totorials工作。根據第一個組合框中的選擇 - 重建,過濾器或可能替換第二個組合框的模型。您可以使用/擴展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()

+1

感謝它的工作.. – lina 2012-04-29 16:16:57

+1

也請參閱此[相關示例](http://stackoverflow.com/a/3191882/230513)。 – trashgod 2013-01-27 01:35:45

相關問題