본문 바로가기
개발공부하며 느낀 인생 공부

자바 스윙 버튼 사라짐, 컨텐츠 뜨지 않음,액션리스너 오류 문제(게시판 글 추가 삭제 수정 문제 220718 til)

by 날파리1 2022. 7. 18.

자바 스윙을 다루다보면 정말 이 레이아웃이 주는 열받음으로 인한 비효율을 참을 수 없을 것이다.

 

그중 내가 범한 수많은 오류들을 잠시 기록하고 간다.

 

생성자 오류(Button ActionListener null 문제) , 코드 순서문제

생성자 즉 선언과 생성 동시에 실현되는 메서드인데 이 클래스를 JPanel 로 확장해두고 그 클래스위에 평소 메인페이지에 짜던 거 마냥 덕지 덕지 올리니 정말 신기한 할말을 잃은 프로그램이 되었다. (2박3일 걸렸다 정확히 뭐가 문젠지 파악하는데)

그래서 리팩토링도 해보고 하면 도저히 얘가 인식을 안하길래 오류만뜨고 왜그런가 지금 보니 생성자에서 쓰인 코드라서 즉 버튼액션리스너 같은것이 혹시 있는데 리팩토링이라도 하면 null 이라면서 안된다. 

 

또한 이것을 문제를 피하려고 하나의 생성자 위에 덕지 덕지 붙여두면 결국 버튼의 액션리스너가 또 다른 액션리스너를 안고 있는 이중 리스너가 되는데 이것을 시스템아웃으로 출력하고자 하느 값을 빼보면 내가 원하는 버튼만 클릭했을때 이아이가 시스템 아웃을 안하고 있는걸 알게 되었다. 즉 시스템아웃을 할만큼의 한 사이클이 돌지 않았다는 건데 즉 다른 버튼을 누르는 헹위까지 해줘야 얘가 값을 뱉는다 ->

어떤 버튼이 어떤역할하는지 파악 불가

 

이렇게 분명히 액션리스너 실행시 상태값을 지워짐으로 변경 했는데도

삭제값은 적용되는데 (각 값의 상태를 toString 으로 오버라이딩해서 표시나도록해줬다.)

화면에 적용이 안됨. 삭제가 안되잇음..-> 왜? 버튼 한사이클이 안돌았거든 이 버튼 타고 저버튼 타고 저버튼 타야 한 사이클이니까 -> 온갖 버튼기능의

혼합의 결과물이 나오겟지 그럼

 

코드를 분리해도 저장한 글이 보이지가 않는다.(이전 프레임 지워주지 않은 문제)

코드의 중복을 피하기 위해서 게시글을 만드는 상황중 게시글을 만들때 사용한 프레임과 게시글을 볼때뜨는 프레임을 같은 걸 사용했는데(따로 쓰면 이런고민안해도된다)

 

글을 작성해도 이전 글작성 프레임과 똑같이 나온다.

이전 프레임에서 사용했던 컴포넌트들을 지우란 명령을 안하니 새로만들어도 새로운걸 띄울생각이 없거나 중복해서 띄운다.

저기 주석처리한 것 처럼 프레임을 다시 세팅해주기전에 앞선것들을 지워준다.

 

자 ! 이러면 해결이 됬을까 ??

 

여전히 리스트 작업을 출력하면 맞지만 인터페이스가 두개씩 사라지거나 제멋대로..

휴 게다가 실험 브랜치랑 원래 브랜치를 왓다갔다 반복하다가

 

깃  브랜치 충돌...

 

또 파일로딩이 안되서 건드리는중..어떻게든 되겠지...일단 또 실험해보고 온다.

댓글