광고 프레임은 추천도서와 신작도서를 보여주는 프레임이다.
추천과 신작은 버튼이며 버튼을 누르면 노란색으로 바뀌게 만들어뒀고
각 버튼을 누를때에 타이틀명도 바뀌며 각 버튼의 이름에 맞는 패널이 불려오게 된다.
버튼은 2개뿐이기 때문에 boolean타입을 사용하였고 창은 계속 새롭게 불려올 필요가 없기에
dispose()를 이용하여 끄지 않고 setVisible() 을 이용하여 안보이게 숨기기만 하였다.
[NewBookPanel()]은 신간도서 패널을 만들어주는 클래스이고
dao에서 listNewBook을 출간일 순서대로 나오게 해뒀기에 새로운 책순으로 나오며
대여상태가 "N"이면서 책의 이미지가 등록되지 않은책("./image/NoBookImage.PNG")은 나오지 않게 해두었고
(책의 이미지가 없을시에 데이터베이스에 "./image/NoBookImage.PNG"로 imagePath가 저장된다)
다음으로는 광고페널에 같은 책이 여러권 있다면 중복시키지 않고 나와야 한다
중복제거를 한 방법은 HashSet으로 isbnOfShowingBooks를 생성해주고
조건문으로 book.getIsbn()과 같은것이 없다면 true를 만들어줘서 이프문을 통과할 때 마다
아무값도 없는 isbnOfShowingBooks 안에다 값을 하나씩 더해줘서
isbnOfShowingBooks안에 들어가 있는 값은 반복문을 돌다 중복되는게 있다면
book.getIsbn() 와 같은것이 있는게 됨으로 false가 되어 if문을 통과하지 못하게 했다.
그러므로 showingBooks안에 들어가는 값은 if문이 통과될때마다 들어감으로
중복되지 않는 책 총 8개가 들어간다.
(for문의 조건식은 j가 8미만일 경우 이기때문에 if문이 성공할 때 마다 j++를 해주어서
8개의 중복되지 않는 책이 들어와야 for문이 멈추게 되어있다)
추천패널과 신간도서 패널은 책이 나오는 순서를 제외하고는 기능이 같다.
이미지를 가져와 사이즈를 조절하는 클래스와 책의 상세페이지를 구현한 부분은
Advertising Frame 주요 기능 설명 2. 에서 다루도록 하겠습니다.
'Team Project > 무인 도서 대여,반납기' 카테고리의 다른 글
RentalPage 3.UnderPanel + 저장소 클레스 (0) | 2021.10.05 |
---|---|
RentalPage 2.TopPanel constructor (0) | 2021.09.14 |
RentalPage 1.TopPanel (0) | 2021.09.13 |
Advertising Frame 주요 기능 설명 2. (0) | 2021.09.08 |
Main Frame 주요 기능 설명 (0) | 2021.08.25 |