日期:2014-05-20  浏览次数:20632 次

请叫高手关于有关联的显示的问题,小弟是初学者
我有个2个下拉选项框,一个用于显示主类,像文具类,电脑类等等,一个用于显示子类,像文具有铅笔,钢笔等,电脑可以有联想,IBM等。我希望在选择文具类的时候子类的下拉选项框就显示铅笔,钢笔,不显示联想,IBM。而选择电脑的时候,子类的下拉选项框就显示联想,IBM,不显示铅笔,钢笔。
        我的这些数据是从数据库的一张表里面查出来的。
        我用的是java.swing画的下拉选项框。

------解决方案--------------------
利用ComboBoxModel 来作。

private ComboBoxModel cbmWJ = new DefaultComboBoxModel(new String[] { "文具一 ", "文具二 " });
private ComboBoxModel cbmDQ = new DefaultComboBoxModel(new String[] { "电器一 ", "电器二 " });

然后在第二个jComboBox2添加监听,如:
jComboBox2.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
if (jComboBox1.getActionCommand().equals( "文具 ")){
jComboBox2.setModel(cbmWJ);
}else{
jComboBox2.setModel(cbmDQ);
}
}
});

大概就是这个意思,不过有很多细节需要注意/

------解决方案--------------------
判断用户选择的是哪一项。 然后先下拉列表里的值先清空
再调用相应的addItem() 方法