Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据从另一个JComboBox中选择的内容更改JComboBox的元素_Java_Swing_Jcombobox - Fatal编程技术网

Java 根据从另一个JComboBox中选择的内容更改JComboBox的元素

Java 根据从另一个JComboBox中选择的内容更改JComboBox的元素,java,swing,jcombobox,Java,Swing,Jcombobox,我有一个通过JPA从MySQL数据库生成统计图表的小应用程序。为了选择要包含在统计中的DB组件,我安装了2个JComboxes。第一个JComboBox由Category1的元素填充,第二个JComboBox由Category2的元素填充,Category2是Category1的子类别。我要做的是只使用Category2中链接到JCombox1中的选择的元素填充JCombox2 示例:类别1为汽车品牌,类别2为车型;我希望JCombox2只显示所选品牌的型号,现在它显示每个品牌的所有可用型号。首

我有一个通过JPA从MySQL数据库生成统计图表的小应用程序。为了选择要包含在统计中的DB组件,我安装了2个JComboxes。第一个JComboBox由Category1的元素填充,第二个JComboBox由Category2的元素填充,Category2是Category1的子类别。我要做的是只使用Category2中链接到JCombox1中的选择的元素填充JCombox2


示例:类别1为汽车品牌,类别2为车型;我希望JCombox2只显示所选品牌的型号,现在它显示每个品牌的所有可用型号。

首先,在Combox1上添加一个侦听器:

private void comboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {                                                     

    if (java.awt.event.ItemEvent.DESELECTED == evt.getStateChange()) {

        String valueBeforeDeselection = evt.getItem().toString();
        // Do something if needed

    } else if (java.awt.event.ItemEvent.SELECTED == evt.getStateChange()) {

        String valueAfterSelection = evt.getItem().toString();
        // Set the values of the ComboBox2
    }
}
为了填充ComboBox2,您应该首先清空它

comboBox2.removeAllItems();
comboBox2.addItem("Value 1");
comboBox2.addItem("Value 2");