본문 바로가기
TIL

패널은 쉽지 않아 (22.09.20 TIL)

by winteringg 2022. 9. 20.

 프로젝트 2일 차.. 스윙으로 된 UI를 구현해야 하는 과제를 하고 있는데 이 패널이 정말 말썽이다. 정보도 잘 없는 것 같고 4주 차까지 배운 강의들에서 어떻게 힌트를 얻어서 해보려고 하는데, 일단 아래 사진처럼 구현이 되었다. 3~4주 차 과제 때는 패널이 간단해서 이렇게 꼬일 일이 없었는데, 아무래도 메뉴를 타고 타고 들어오는 패널을 만들다 보니 이렇게 된 것 같다. 

 처음에는 그냥 무심코 아래로 쌓이니까 GridLayout 으로 구현했는데 아래와 같이 체크 리스트가 추가될수록 위의 패널들이 같이 커졌다. 어제 간단하게 이 패널만 작업하고 메인 로직을 들어가려 했는데... 이게 말썽을 부리다 보니 또 여기에 매몰되어서 새벽 5시 넘어서까지 이것저것 찾아보며 패널을 만졌는데.. 결국 해결하지 못하고 잠들었다. 분명 내가 어딘가에서 잘못 입력한 레이아웃이 있을 텐데 시간이 지나니까 집중력도 떨어져서 그런가 눈에 잘 보이지 않았고, 결국 내가 아니라 컴퓨터가 잘못한 거 아님?!라고 생각하는 지경에 이르렀다;;

 그리고 오늘 오전에 코딩도장에 와서 빈 화면부터 한 메서드씩 복사해가며 진행 흐름을 따라가는 과정을 거쳤는데 결국 해결되지 못하고 울상으로 있자 우리 기수 똑똑이들 우지님과 보니가 와서 도와줬다. (감사합니다 ㅠㅠ) 일단 내 패널들이 하나씩 쌓이기 위해서는 BorderLayout으로 패널들을 연결-연결하는 방식으로 계속 이어줘야 했다. 계속 실패하다가 다시 또 갈아엎고 처음부터 작성하니까 패널이 이어지는 문제는 해결되었는데 다른 문제가 생겼다. 등록 버튼을 눌렀을 때 리스트가 패널에 보이긴 하는데, 프로그램을 종료했다가 다시 켜면 보이지 않고 뭔가를 등록해야 그 이전 데이터들이 나타났다. 체크리스트가 추가되는 패널이 생성될 때 나타나지 않는 것이다.

 생성될 때의 문제니까 생성자 부분을 보았는데 그 리스트가 출력되는 패널은 분명 계속 새로 호출되고 있었다. 코드를 계속 봐도 문제는 없어보였고, 리스트들이 출력되는 패널들도 잘 add 가 되었는데 뭐가 문제일까. 대체 왜 안 나오는 거냐고~~~~~ 근데 해결방법은 참 어이없는 곳에서 나왔다. 처음에 csv 파일을 로드하는 과정에서 파일을 로드만 하고 그 로드된 결과물을 저장해 줄 패널을 만들지 않아서였다. 위에 다른 버튼 및 레이블 요소들이 나오는 패널 하나, 파일이 로드되어서 출력되는 패널 하나가 따로 있어야 하는데 나는 계속 허공에 파일을 로드하는 격이었다. 분명 3주 차 주간 과제 때 경험했던 오류라서 파일을 출력할 패널을 하나 더 만들어야 한다는 것은 인지하고 있었던 문제였다. 하지만 패널들이 겹쳐지는 뎁스가 많다 보니까 그 패널들의 연결에 집중을 하는 바람에 이런 문제를 못 찾은 것 같다. 무언가 시간을 버린 것 같지만 그래도 아직 화요일이니까... 이제 다른 기능들은 제쳐두고 메인 기능에 얼른 집중해야 한다. 이제 부가적인 요소보다 메인 기능 구현에 집중하자!!!!


 +그리고 wakaTime 이라는, 개발자가 사용하고 있는 IDE 툴을 통해 단순 프로그래밍 개발 시간을 측정해주는 사이트가 있다. 어제 동기들과 함께 들어가서 순위를 구경하다가 98위에 내 이름이 있다는 소식이..! 뭔가 이번 주는 프로젝트 주간이라 시간이 좀 더 나올 것 같은데 이번 주말에 확인해 봐야겠다. 그리고 1위는 104시간 이던데 어떻게 살아계시는지 궁금하다. 그냥 켜놓는 다고만 해서 측정되는 것이 아니라 정말 순수 타이핑 시간을 계산하는 거라고 하던데.... 아무쪼록 1위 분은 건강하시길..ㅎㅎㅎ

댓글