当我在组合框中选择一个部门时,如何在组合框中调用课程名称?

时间:2014-05-15 14:18:56

标签: java combobox action

我的数据库中有两个表作为学期表和课程表。学期表中有semesterId,courseId,courseName和Sdepartment(部门名称)。课程表有courseId和courseName。我有两个组合框我的jframe。第一个是选择一个部门。第二个是选择课程。我想选择选定部门的课程。当我选择一个部门时,如何在组合框中调用课程名称?我认为我应该使用addActionlistener和actionperformed但我不知道我如何使用此代码在这里我的代码;

   public void coursename(){
 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
 session.beginTransaction();
 //Query query= session.createQuery("select a.courseName,e.semesterId from Semester e inner join e.course as a"); 
 Query query= session.createQuery("FROM Senior.entity.Semester S  ");
 //for (Iterator it = query.iterate(); it.hasNext();) {
  //Object  row[] = (Object[])   it.next();
  //combocourse.addItem(new CourseItem((String)row[0], (int)row[1]));
  //}  
 List <Semester>re= query.list(); 
 if (re.size() > 0){ 
 Iterator iterate= re.iterator(); 
 final Semester resultAccount= (Semester)iterate.next(); 
 combocourse.removeAllItems();
 for(Semester inv:re){
 combocourse.addItem(new CourseItem(inv.getSemesterId(),inv.getSCourse()));
 }        
 }
  session.close();

}

  public void depart(){
 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
 session.beginTransaction();

 Query query= session.createQuery("FROM Senior.entity.Semester f "); 
 List <Semester>results= query.list(); 
 if (results.size() > 0){ 
 Iterator iterate= results.iterator(); 
 final Semester resultAccount= (Semester)iterate.next(); 
 combodepart.removeAllItems();
 for(Semester inv:results){
 combodepart.addItem(new DepartItem(inv.getSemesterId(),inv.getSDepartment()));

     //  combodepart.addActionListener(combocourse); 
           /*
        @Override
     public void actionPerformed(ActionEvent e) {
          JComboBox combocourse;
         combocourse = (JComboBox) e.getSource();
     //     Object selected = combocourse.getSelectedItem();
      Session session = HibernateUtil.getSessionFactory().getCurrentSession();
 session.beginTransaction();

 Query query= session.createQuery("FROM Senior.entity.Semester f "); 
 List <Semester>results= query.list(); 
 if (results.size() > 0){ 
 Iterator iterate= results.iterator(); 
 final Semester resultAccount= (Semester)iterate.next(); 
 combodepart.removeAllItems();
 for(Semester inv:results){
 combodepart.addItem(new DepartItem(inv.getSemesterId(),inv.getSDepartment()));
     }
 });

 */

 }        
 }
 session.close();
 }

1 个答案:

答案 0 :(得分:0)

你需要做这样的事情:

public class ComboBoxDemo ... implements ActionListener {
    . . .
        departments.addActionListener(this);
    . . .
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String department= (String)cb.getSelectedItem();
        updateCourse(department);
    }
    . . .
}

您可以在此方法中获取所选项目,因此您可以填充课程组合框。

Here is the link让你入门