투케이2K

201. (java/자바) GUI (awt/swing) - 주문 관리 프로그램 만들기 (JComboBox , JTable , JScrollPane) 본문

Java

201. (java/자바) GUI (awt/swing) - 주문 관리 프로그램 만들기 (JComboBox , JTable , JScrollPane)

투케이2K 2021. 4. 12. 09:35

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

//TODO 자식 레이아웃 [버튼] 클릭 이벤트 정의 실시		
ActionListener action = new ActionListener(){			
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub	
		if (e.getActionCommand().equals("음식추가")) { // 음식 추가 버튼 클릭이벤트 처리
			//TODO 입력된 값 테이블에 추가하기
			String info[] = new String[2]; //한행 (row) 에 저장할 데이터 모음
			info[0] = food_combo.getSelectedItem().toString(); //콤보박스 값을 가져온다
			info[1] = "5000";									
			model.addRow(info); //테이블 모델에 데이터 삽입 실시
			pay_list.add(food_combo.getSelectedItem().toString()+" : "+"5000"); //결제 금액 리스트에 추가
		}
		else if (e.getActionCommand().equals("음료추가")) { // 음식 추가 버튼 클릭이벤트 처리
			//TODO 입력된 값 테이블에 추가하기
			String info[] = new String[2]; //한행 (row) 에 저장할 데이터 모음
			info[0] = drink_combo.getSelectedItem().toString(); //콤보박스 값을 가져온다
			info[1] = "3000";									
			model.addRow(info); //테이블 모델에 데이터 삽입 실시					
			pay_list.add(drink_combo.getSelectedItem().toString()+" : "+"3000"); //결제 금액 리스트에 추가
		}
		else if(e.getActionCommand().equals("결제")) { // 결제 버튼 클릭이벤트 처리
			/** TODO [질문 알림창]*/ 
			int qut_data = JOptionPane.showConfirmDialog(frm, "주문을 결제하시겠습니까??","주문내역", 
					JOptionPane.YES_NO_CANCEL_OPTION);
			if(qut_data == 0) { //[예] 버튼
				System.out.println(pay_list.toString());
				JOptionPane.showMessageDialog(frm, "결제되었습니다."+"\n"+"[주문내역]\n"+pay_list.toString());
			}
			else if(qut_data == 1) { //[아니오] 버튼
				
			}
			else if(qut_data == 2){ //[취소] 버튼
						
			}

		}
		else if(e.getActionCommand().equals("삭제")) { // 삭제 버튼 클릭이벤트 처리
			//선택한 줄(row)의 번호 알아내기
			int rowIndex = table.getSelectedRow();
					
			//선택 안하고 누를 경우 리턴값 -1
			if(rowIndex == -1) {
				return;	
			}
			model.removeRow(rowIndex); //해당 테이블 행 삭제
			pay_list.remove(rowIndex); //결제 금액 리스트에서도 삭제 실시
		}
	}
};

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 자바에서는 JFrame을 사용해서 GUI 프로그램을 만들 수 있습니다

* 2. DefaultTableModel : 테이블 데이터를 관리합니다

* 3. JTable : 테이블을 생성합니다

* 4. JScrollPane : 스크롤 패널을 생성합니다

* 5. JComboBox : 콤보박스 리스트를 표시해줍니다

* 6. ActionListener : 클릭 이벤트를 처리합니다

/* =========================== */

/* =========================== */

[프로그램 소스코드 첨부]

소스코드.txt
0.01MB

/* =========================== */

반응형
Comments