본문 바로가기

영화관

(10)
[팀플 - movie_kiosk] 9th course (CRUD) 오늘 시도한 기능 구현은 게시판의 가장 기초적이면서 핵심적인 CRUD이다 아직 검색 기능까지는 구현하지 못했지만, 상품을 추가/수정/삭제할 수 있게 기능을 구현하였다 처음으로는, 원래 UI 테스트용으로 넣어놨던 상품들을 다 삭제하고 DB에 상품들을 추가한 후에 이클립스와 연동해서 GUI로 화면을 띄웠다 상품 재고를 가져오는 코드이다. ProductsInventory는 DB의 모델이고 그 모델 안에 sql문으로 모든 것을 가져와서 ArrayList배열에 넣어준다 후에, 원하는 페이지(현재는 관리자 페이지)에서 모델 안에 들어 있는 값들을 하나씩 꺼내서 원하는 위치에 값을 넣어주는 형식으로 진행하였다 영화관의 재고관리 자체가 애매한 부분이 참 많아서 (팝콘과 음료의 재고를 개당으로 표현하기 애매) 완제로 나..
[팀플 - movie_kiosk] 8th course (managerFram) 스크롤 부분은 이전 과정에서 많이 설명해서 생략 관리자 페이지에서의 재고관리 프레임도 장바구니 프레임과 기능적인 부분에서는 동일하고 디자인과 UI설계만 조금 달랐다 지금까지 코드를 객체지향적으로 하기 위해서 패널별로 다 나뉘었는데, 이제는 조금 더 중복된 코드를 제거하기 위해 각각의 중복된 세팅을 가진 Component들은 함수화 시켜서 만들어 나가고 있다 그리고 제일 힘들었던 부분이 의외로 코드를 구현하는 것보다 함수와 변수명을 가독성 높게 작성하는거였다 이 부분에서는, 선임 개발자들의 퀄리티 높은 코드들을 보는 연습을 해서 배워나가야 할 것 같다 위 코드에서는 문제가 발생할 것이다 List_C_Panel 안에 한 가지의 panel을 또 만들어서 그 패널의 레이아웃을 null로 지정한 다음 setBou..
[팀플 - movie_kiosk] 7th course (스크롤 이슈 해결 및 디자인 수정) 사진과 같이 장바구니 프레임에서 스크롤이 전혀 되지 않고 있었다 첫 프레임의 메뉴바에서는 선택하고 싶은 메뉴를 선택했을 때, 해당하는 상품들이 GridLayout으로 들어가 원하는 그림대로 스크롤을 적용할 수 있었는데 장바구니에서는 적용되지 않고 있었다 다 똑같이 했는데 장바구니만 안돼서 많이 답답했다 여러 가지를 많이 고쳐봐도 고쳐지지 않았고, 계속해서 고쳐보다가 Layout 문제인 거를 깨닫고 코드 하나하나 주석처리하면서 이슈 발생지점을 좁혀나갔다 해답은 생각보다 많이 간단했다 Detail_P2_C 클래스는 장바구니에 추가되는 각각의 상품들을 만드는 클래스이다 이 클래스는 setLayout이 처음에는 null이였다 각각의 레이아웃이 null이 들어간 상태에서 상품들이 들어가는 총패널을 GridLayo..
[팀플 - movie_kiosk] 6th course 팀 프로젝트 영화관 키오스크 만들기를 시작한 지 벌써 1주일이 흘렀다 동영상이 생각보다 올리기가 까다로워서, 결국 동영상은 찍고 캡처해서 기능 만든 부분만 올리려고 한다 첫 번째로, 그동안 만들었던 기능들은 먹거리 상품들을 각 메뉴바 (캄보, 팝콘, 스낵, 음료)를 클릭했을 때, 해당 메뉴에 맞게 DB에서 정보들을 가져와서 JButton으로 각각의 상품을 만든 후 GridLayout으로 해당 JPanel에 정렬해서 넣어주었고 계속해서 스크롤바에서 문제가 생겼었는데, ScrollPane을 자꾸 Panel에 붙이려고 했던 이유였다 ScrollPane은 Component를 입력받아 만들어지는 Panel의 한 종류였다 그걸 알게 된 후에 문제를 수정하였고, (Component 부분에 미리 만들어두었던 각각의 p..
[팀플 - movie_kiosk] 4th course 다시 봐도 한숨 나오는 구간.. 지금 생각해보면 왜 여기서 막히고 있던 건지 나 자신이 의아할 정도이다 각 메뉴를 클릭시에 DB에서 해당 메뉴들에 대한 정보를 가져와서 각각의 이미지와 이름 가격들을 버튼에 구성하고 버튼들을 GridLayout을 통해 GUI로 띄워야 한다 하지만 반복문에서 위 사진과 같이 버튼을 구성하고, 그 안에서 ActionListener를 통해 해당 버튼을 눌렀을 때, 작은 모달 창을 띄워서 사용자에게 구매내역을 확인시켜 주어야 하는데 반복문 자체가 ActionListener 외부에 있어서 지역변수로 인해 i가 5로만 설정돼있는 문제이다 그래서 ActionListener 안에 다시 반복문을 넣었던 결과.. 하나만 클릭해도 모든 상품이 다 뜨는 문제점..! (그래도 이렇게 띄운걸로 만..
[팀플 - movie_kiosk] 3rd course 클래스를 나눈 사진이다 메인프레임은 전체 틀을 의미하고 각각의 패널을 합쳐서 화면을 구성하는 식으로 진행되었다 팀장님께서 라벨과 버튼들도 다 클래스로 나누라고 했는데, 아직은 진행하지 못한 상태이다 캡처한 사진은 윈도우상 화면이라서 맥과 조금 다른 건지.. 이미지가 조금 깨지고 글씨들도 원래 지정했던 것과 다르게 나온다 (추후에 수정해야겠다) 현재는 메뉴바에 있는 캄보, 팝콘, 스낵, 음료 버튼들의 역할은 하지 못하고 디비에서 정보를 가져와서 GUI로 띄우는 것까지만 성공한 모습이다 이제는 각각의 버튼들에 대한 기능을 구현해야 한다 한 가지 버튼을 구현한 게 있다면 가장 쉬운 원산지 표시판이다 가장 쉽기도 하고, DB 연결도 안 하기로 해서 이것부터 진행하였다 메인프레임 오른쪽 하단에 지구본 모양을 클릭..
[팀플 - movie_kiosk] 2nd course 처음 사진의 mkaeImgaeIcon 함수는 String path를 매개변수로 받아서 경로에 위치한 이미지 파일을 원하는 크기로 ImageIcon으로 리턴해준다 처음에는, 3개팀에서 메인 프레임하나만 쓰고 나머지는 패널로 구성하자 하여서 먹거리코너의 메인페이지를 패널로 구성하였는데 현재는 프레임으로 바꾸자는 의견으로 프레임으로 바뀌었다 먹거리 코너 메인에서는 총 5개의 패널로 나뉘는데 1. 광고패널 2. 메뉴바 텍스트 패널 3. 메뉴바 패널 4. 상품들 나열하는 패널 5. 하단 메뉴바 패널 위 사진은 각각의 패널들을 사이즈에 맞게 testFrame에 붙히는 과정이다 광고패널에서는 원하는 광고들을 String배열에 넣어놓고 미리 만든 ImageSlide 클래스를 상속받아서 광고를 슬라이드 식으로 넘긴다 그..
[팀플 - movie_kiosk] 1st course [오늘의 목표] ​ 1. 상품 테이블 생성 2. 상품 테이블에 정보 INSERT 3. 이클립스와 DB 연동 4. DB로 들어온 정보들로 GUI 상품 버튼 띄우기 ​ ​ 4-1 DB로부터 이미지파일경로 정보 받고, 그 정보들을 매개변수로 받는 make_img 함수를 만들어서 그 함수 안에서 입력받은 경로를 이용하여 이미지로 바꿔 리턴해준다 ​ 4-2 DB로부터 상품이름, 상품 가격의 정보를 받고, 그 정보들을 매개변수로 받는 p_text 함수를 만들어서 그 함수 안에서 HTML를 이용하여 두 매개변수를 합쳐주고 String타입으로 리턴해준다 ​ 4-3 (4-1, 4-2)를 매개변수로 받는 makeP_btn 함수를 만들어서 그 함수 안에서 이미지와 텍스트를 한 버튼에 붙여서 리턴해주는 JButton타입으로 ..