JAVA & JDBC/Project(식권 발매 프로젝트)

Day13(종류별 결제현황 차트폼)

chillisugar 2024. 9. 21. 14:04

안녕하세요. 이번 프로젝트의 마지막을 달려가고 있습니다.

오늘은 Day12에 이어 현재까지 결제된 메뉴의 통계차트를 만들어 보도록 하겠습니다.

 

 

 

[그림 2-32]를 보면 아래의 그림처럼 나누어서 만들도록 하겠습니다.

 

첫번째 그림은 FlowLayout을 이용해 순서대로 "종류별 결제건수 통계차트" Label과 "차트이미지저장", "닫기" 버튼을 순서대로 넣겠습니다.

 

두번째 그림은 데이터베이스의 Orderlist에서 존재하는 한식/일식/양식/중식 중 각 분야가 전체에서 차지하는 백분율을 그림으로 나타낸 것입니다.

 

우선 Orderlist데이터베이스에 존재하는 데이터중에서 각 분야별 주문된 개수를 조회하고 벡터에 저장을 하겠습니다. 

 

이제 벡터에 저장된 정보를 가져와 원을 그리고 원색상은 종류별로 랜덤으로 나타나도록 하겠습니다. 원을 그리기 위해 paintComponent 이용하였습니다.

 

이렇게 하면 아래의 그림과 같이 결과가 나오게 됩니다. Day12에서 한식과 일식에 관한 메뉴만 결제를 했기에 아래의 그림과 같이 결과가 나오게 됩니다. 

 

이제 "차트이미지 저장" 과 "닫기"버튼에 대한 메소드를 작성하도록 하겠습니다.

차트이미지 저장을 할때 "파일명은 년월일시분초-종류별결제현황차트.jpg라는 이름으로 생성한다."라는 조건이 있기에 Calendar클래스를 이용해 현재 날짜를 받아오고 Day8에서 진행했던것과 같이 이미지를 캡쳐해 저장하였습니다.

 

오늘은 이렇게 지금까지 결제된 목록의 종류에 따른 백분율 그림을 그려봤습니다. 

아래는 오늘 작업한 코드의 결과물입니다.