两个数据驱动的JComboBox组件

时间:2015-08-30 09:49:42

标签: java swing jcombobox

我使用了两个JComboBox组件。第一个组合框从数据库表中获取数据。第二个组合框也从数据库表中获取其数据并基于在第一个组合框中选择的数据。即

  1. 组合框1 - 从数据库中获取所有课程。
  2. 组合框2 - 从第一个组合框中获取所选插槽的所有插槽。
  3. 我该怎么做?

        course = new JComboBox();
        // get all the courses from database
        DefaultComboBoxModel model = new DefaultComboBoxModel();
        ArrayList <String>c =   ConnectDB.getAllCourse();
        for(String co: c)
            {
            model.addElement(co);
            }
        course.setModel(model);
        course.setBounds(135, 136, 86, 20);
        jf.getContentPane().add(course);
    

    然后:

    course.addItemListener(new ItemListener()
        {
            @Override
            public void itemStateChanged(ItemEvent e) {
                String course = (String) e.getItem();
                System.out.println(course);
                try {
                    ArrayList<String> AvailableSlots = ConnectDB.getAvailableSlots(course);
                    System.out.println(ConnectDB.getAvailableSlots(course));
                    System.out.println(AvailableSlots);
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
            }
        });
        slot = new JComboBox();
        slot.setModel(availableSlots);
        slot.setBounds(135, 164, 86, 20);
    

1 个答案:

答案 0 :(得分:0)

您可以将侦听器注册到ComboBox1,看看here

然后,根据所选项目,您可以填充ComboBox2