본문 바로가기

Project/TeamProject

[팀플 - movie_kiosk] 4th course

반응형

다시 봐도 한숨 나오는 구간..

지금 생각해보면 왜 여기서 막히고 있던 건지 나 자신이 의아할 정도이다

각 메뉴를 클릭시에 DB에서 해당 메뉴들에 대한 정보를 가져와서 

각각의 이미지와 이름 가격들을 버튼에 구성하고 

버튼들을 GridLayout을 통해 GUI로 띄워야 한다

 

하지만 반복문에서 위 사진과 같이 버튼을 구성하고,

그 안에서 ActionListener를 통해 해당 버튼을 눌렀을 때, 작은 모달 창을 띄워서 사용자에게 구매내역을 확인시켜 주어야 하는데

반복문 자체가 ActionListener 외부에 있어서 지역변수로 인해 i가 5로만 설정돼있는 문제이다

 

그래서 ActionListener 안에 다시 반복문을 넣었던 결과..

하나만 클릭해도 모든 상품이 다 뜨는 문제점..!

(그래도 이렇게 띄운걸로 만족해하고 있었다)

 

이 부분에서 수업때 분명히 배웠던 것인데, 기억이 나질 않아서 수업한 내용들을 차근차근 한 번씩 다시 살펴보았다

 

그때 생각한 해답은 JButton과 ActionListener를 상속받는 나만의 버튼클래스를 만들거나

ActionListener만 상속받아서 만든 나만의 액션클래스를 현재 있는 버튼에 추가하는 방법 두 가지가 생각났다

 

첫 번째 해답으로 문제 해결을 진행해보았는데, 이미 버튼들을 다 구현한 상태여서 바꿔줘야 할 부분이 너무 많아 패스!

두 번째 방법으로 간단하게 해결하게 되었다 

버튼들의 위치가 마음에 들진 않지만.. 그래도 클릭한 상품만 따로 프레임을 띄우는 거 성공!

 

그리고 +,- 버튼을 눌렀을 때

가운데에 있는 숫자라벨을 액션에 맞게 자동으로 수정하게끔 코드를 구현하였고

금액은 매개변수로 입력받은 price를 위에 수량과 곱해서 나오게끔 구현하였다 

 

확인과 취소 버튼에서는 아직 완성은 하지 못했는데,

일단은 두개의 버튼 다 클릭 시 setVisible(false)로 지정하여서 화면상 안 보이게끔 구현하였고

확인 버튼에는 한 가지 더 추가해야 하는데

해당 메뉴의 이름과 수량 금액을 장바구니 DB에 추가시키는 작업을 진행해야 한다

그렇게 해야 사용자가 상품을 다 고르고 장바구니를 클릭했을 때,

그동안 저장해두었던 장바구니 DB에 내용들을 한 번에 불러와서 결제하는 방식으로 진행이 가능하다 

반응형

'Project > TeamProject' 카테고리의 다른 글

[팀플 - movie_kiosk] 6th course  (0) 2021.08.06
[팀플 - movie_kiosk] 5th course  (0) 2021.08.05
[팀플 - movie_kiosk] 3rd course  (0) 2021.08.05
[팀플 - movie_kiosk] 2nd course  (0) 2021.08.04
[팀플 - movie_kiosk] 1st course  (0) 2021.08.04