콤보박스 2개 연동하기
- 콤보 박스 2개에 들어갈 배열 선언
12345678910111213String[] COLLEAGE = new String[] {"인문대학", "사회과학대학", "경영대학", "의과학대학", "공과대학", "문화융합대학", "문화관굉대학", "사범대학"};String[][] DEPT = new String[][] {{"경배와찬양학과", "역사문화콘텐츠학과", "영미언어문화학과", "일본언어문화학과", "중국어중국학과", "한국어문학과"}, {"경찰학과", "문헌정보학과", "법학과", "사회복지학과", "상담심리학과", "행정학과"}, {"경영학과", "경제학과", "금융보험학과", "물류무역학과", "부동산학과", "회계세무학과"}, {"간호학과", "물리치료학과", "방사선학과", "보건관리학과", "작업치료학과", "바이오기능성식품학과", "재활학과", "환경생명과학과", "운동처방학과"}, {"건축공학과", "건축학과", "기계시스템공학과", "기계자동차공학과", "산업공학과", "소방안전공학과", "전기전자공학과", "정보통신공학과", "컴퓨터공학과", "탄소나노신소재공학과", "토목환경공학과"}, {"게임콘텐츠학과", "스마트미디어학과", "경기지도학과", "공연방송연기학과", "산업디자인학과", "생활체육학과", "시각디자인학과", "영화방송학과", "예술심리치료학과", "음악학과"}, {"관광경영학과", "외식산업학과", "호텔경영학과", "패션산업학과", "한식조리학과"}, {"국어교육과", "영어교육과", "중등특수교육과","한문교육과", "가정교육과", "과학교육과", "수학교육과", "교육학과" }}; - 콤보박스 2개 생성, 1개에는 Listener추가
12345678910// 단과대학cmbColl = new JComboBox<String>(COLLEAGE);cmbColl.addItemListener(this);cmbColl.setBounds(posX2, posY, width2, height);panRight.add(cmbColl);// 학과cmbDept = new JComboBox<String>(DEPT[0]);cmbDept.setBounds(posX4, posY, width2, height);panRight.add(cmbDept); - 리스너 구현
123456789101112131415161718192021222324public class XXXXXX extends JFrame implements ActionListener, ItemListener {{public static void main(String[] args){...}@SuppressWarnings("unchecked")@Overridepublic void itemStateChanged(ItemEvent e) {// TODO Auto-generated method stubJComboBox<String> combo = (JComboBox<String>)e.getSource();if(e.getStateChange() == ItemEvent.SELECTED) {int selNo = combo.getSelectedIndex();if(combo == cmbColl) {cmbDept.removeAllItems();for (int i = 0; i < DEPT[selNo].length; i++) {cmbDept.addItem(DEPT[selNo][i]);}}}}}- implemments ItemListener가 추가 되어야 함,
- 기존에 ActionListener가 추가 되어 있다면 ,ItemListener를 추가하면 됨
- XXXXXX 위에 마우스 올려놓으면 Add unimplements methods 메뉴가 나오고 그것을 선택하면 Listener코드 추가 됨