나는 내 테이블에 학기 테이블과 코스 테이블로 두 개의 테이블을 가지고 있습니다. 학기 테이블에 semesterId, courseId, courseName 및 Sdepartment (부서 이름)이 있습니다. 코스 테이블에는 courseId와 courseName이 있습니다. 두 개의 콤보 박스가 있습니다. 첫 번째는 선택된 부서를위한 것이고 두 번째는 선택 과정입니다. 선택한 학과목을 선택하고 싶습니다. 부서를 선택할 때 어떻게 콤보 박스에서 코스 이름을 부를 수 있습니까? 여기 내 코드;java에서 combobox 사이에 필터를 사용하려면 어떻게해야합니까?
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();
}
더 명확한 질문을하고 더 나은 문법을 사용하십시오. 이해하기 어렵습니다. – ManyQuestions
부서를 선택할 때 어떻게 코스 이름을 불러올 수 있습니까? addActionListener와 actionperformed를 사용해야한다고 생각하지만이 코드를 어떻게 사용하는지 알지 못합니다. – user3624017