Team Project/무인 도서 대여,반납기

Main Frame 주요 기능 설명

ChoiDooSic 2021. 8. 25. 01:03

메인 프레임은 대여,반납,연장,로그인 페이지로 이동 할 수 있게 버튼이 구성되어있고

메인의 버튼은 MouseListener 인터페이스를 상속받아 버튼에 마우스가 올려졌을때,

눌렸을때,마우스가 올려지지 않았을때의 이벤트를 다르게해주었다.

border배열을 만들어 사용할 border3개를 담아두어 LineBorder 기본 상태, BevelBoder 마우스가 버튼위에 올라갔을때 SoftBevelBorder 마우스가 눌렸을때의 효과를 다르게 주었다

MainNextAction이라는 클래스를 만들어 각 버튼마다 이동할 곳을 정해주었다

[overCount()] 반납기간이 지나 반납하고 지난 일수x책 권수 를 조건으로 대여가 불가능한 일수를 카운트하여준다.

일수X책에 대한 카운트는 데이터 베이스에서 연체일수를 카운트 하여주는 View를 만들어 두었다.

(연체일수는 그 책이 반납되면 시스템에서 자동으로 계산되며, 연체일수 X 연체권수가 도서관에서 쓰는

연체일수 계산 방법이라 한다.)

[isOverdue()] 반납기간이 만료되었지만 책을 반납하지 않은 경우를 boolean타입으로 체크하여준다

actionPerFormed 에서 누른 버튼의 text값을 받아 이용할 페이지의 조건에 합당한지 체크하여 주고 이상이 있다면

경고 창을 띄워주고 이상이 없다면 원하는 페이지로 넘어갈수 있다.

넘어가면서 창을 닫는건 dispose() 메서드를 이용했으며 위의 사진을 보면

JFrame df = (JFrame)((JButton)e.getSource()).getRootPane().getParent(); 를 찍어주면 버튼또는 마우스가 눌렸을때에

해당 프레임의 소스를 뽑아주는데 JFrame에 현재 버튼이 눌린 프레임의 데이터를 담아주고 dispose();를 이용하여

프레임을 닫아준다.

처음에는 setvisible을 이용하려 했으나 프레임을 투명하게 만들뿐이라 메모리가 누수된다는걸 알게되어

dispose()를 이용하였으며 setvisible은 프레임이 자주 사용되면서

데이터가 변하지 않는 경우 false로 투명하게 만들어주는게 좋다고 한다.

 

메인클래스에서 소개 할 만한 주요 기능은 크게 없다

정보를 받아서 다음 페이지로 넘어갈수 있는지 조건을 체크해주는 것이 전부이기 때문이다...! ㅎㅎ