Day11(메뉴관리 폼)
안녕하세요. Day10에서 만든 관리폼에서 메뉴관리 폼을 만들어보도록 하겠습니다.
그림[2-22]에 보이는 것 처럼 메뉴관리 폼의 틀을 만들어보도록 하겠습니다.
그림[2-22]를 보면 평상시 만들던 것과 다르게 "□"과 같이 JTable안에 Checkbox로 선택이 가능하게 되어있습니다.
JTable안에 Checkbox 배치 (tistory.com)
JTable안에 Checkbox 배치
안녕하세요. 오늘은 JTable안에 checkbox를 만들어 보도록 하겠습니다. 우선 기본적인 JTable을 만들어보도록 하겠습니다. 위와 같은 코드를 실행하면 아래의 그림과 같이 JTable이 생성됩니다. 여
chilisugar-project.tistory.com
JTable안에 Checkbox를 넣는 방법은 포스팅 해두었으니 필요하신분들은 확인하시면 감사하겠습니다.
위와 같이 코드를 작성하고 실행을 시켜주면 아래의 그림과 같이 결과가 나오게 됩니다.
위의 코드를 통래 조건1)과 조건3)에 대해서는 만족하게 만들었습니다.
이제 남은 조건에 대해 진행해보도록 하겠습니다.
조건 2) / 조건 4)
조건2) [메뉴 관리] 폼 실행 시 테이블에는 [종류]에 맞는 메뉴가 조회되어 출력되도록 하시오.
조건 4) [종류]를 변경하고 [검색] 버튼을 누르면 테이블의 데이터가 [종류]에 맞게 조회되도록 하시오.
meal데이터베이스에 보면 todayMeal은 0또는 1로 설정이 되어있습니다. 하지만 그림[2-22]를 보면 Y/N으로 설정이 되어있기에 만일 todayMeal이 1이면 Y로 바꾸어 JTable에 넣고 0이면 N으로 바꾸어 JTable에 넣는 작업을 진행했습니다.
조건 5)
조건 5) [수정] 버튼 클릭 시 수정할 레코드에 체크 표시를 하지 않았을 경우 [그림 2-23]의 메시지가, 두 개 이상 체크 표시를 하였을 경우 [그림 2-24]의 메시지가 출력되도록 하고, 이 외에는 [그림 2-24]와 같이 [메뉴 수정] 폼이 실행되도록 하시오.
JTable에서 0번째 열의 true개수를 확인하여 2개이상이면 하나씩 수정이 가능하다는 문구를 나타내고 하나도 선택이 되지 않은 상태로 수정버튼을 누르면 수정할 메뉴를 선택하라는 문구가 나오도록 하였습니다.
수정 버튼을 눌렀을때 메뉴를 체크한 버튼이 1개이면 그림[2-25]가 나와야 합니다.
조건 6) / 조건7) / 조건 8)
조건 6) [그림 2-25] [메뉴 수정] 폼의 기본 기능은 [그림 2-19] [신규 메뉴 등록] 폼과 동일하게 적용하시오.
조건 7) [메뉴 수정] 폼에서 항목을 수정하고 [수정] 버튼을 누르면 [그림 2-26]의 메시지가 출력되고 폼이 종료되도록 하시오.
조건 8) [닫기] 버튼을 누르면 폼이 종료되도록 하시오.
수정버튼을 눌렀을때 체크된 메뉴에 대한 정보를 알아야 하기에 Jtable과 선택된 행에 대한 정보를 매개변수로 설정하겠습니다.
Day10에서 만든 신규메뉴등록 폼과 동일하기에 메뉴명만 선택된 행의 메뉴 이름이 메뉴수정폼에 들어가도록 하겠습니다. 그리고 수정 버튼을 눌렀을때 meal데이터베이스도 수정이 되는 구문을 작성하겠습니다.
조건 9)
조건 9) [메뉴 관리] 폼에서 삭제할 레코드의 체크 박스에 체크 표시를 하고 [삭제] 버튼을 클릭하면 해당 레코드가 DB에서 삭제되도록 하고, 테이블의 내용이 갱신되도록 하시오.
조건 10) /조건 11)
조건 10) [메뉴 관리] 폼에서 [오늘의메뉴 선정] 버튼 클릭 시 25개를 초과하여 레코드에 체크 표시를 하였을 경우, [그림 2-27]의 메시지가 출력되고, 25개 이하의 레코드에 체크 표시를 하였을 경우 기존 ‘오늘의메뉴’가 설정된 메뉴들이 모두 초기화되고, 체크 박스에 체크 표시 된 레코드의 메뉴만 ‘오늘의메뉴’로 설정되도록 하시오(0 – N, 1 – Y).
조건 11) [닫기] 버튼을 누르면 폼이 종료되도록 하시오.
JTable에서 Checkbox가 선택된 메뉴의 개수를 확인후 25개 이상이면 JOptionPane이 나타나게 하고 이하면 meal데이터베이스의 todayMeal항목을 모두 0으로 초기화 한 후 Checkbox가 선택된 메뉴에 대해 다시 todayMeal항목을 1로 바꾸는 작업을 진행했습니다.
이렇게 조건들에 대해 전부 충족하게 만들었습니다.
아래는 오늘 만든 조건에 대한 동영상입니다!
아래는 전체적인 코드입니다.
수정버튼을 눌렀을때 생성되는 폼에대한 코드입니다.