뚜벅이

스윙과제 두번째( 완패) 본문

카테고리 없음

스윙과제 두번째( 완패)

ZZM 2021. 2. 19. 08:50
반응형

 포스트 잇을 구현한다

핵심은 마우스 액션 모션 리스너들을 임포트해야하는것이다. 

MouseListener /  MouseMotionListener /  MouseEvent 를 쓴다. 앞의 두개는 인터페이스들이며, 메소드들을 구현해줄 필요가 생긴다. 

 

모션리스너는 제한적인 기능을 수행한다.  Dragged 와  Moved가 있다. 

  두놈들은 서로 완전히 분리된 녀석들이다.  그래서 한 인터에  묶어줄 수 있었던 것 같다. 

마우스리스너는  Clicked  Pressed  Released  Entered  Exited 

가 있는데  딱봐도  Dragged 와  Click Press 는 동시에 일할 여지가 있어 보인다. enter exit도 move와 동시에 일어날것처럼 보인다.   충돌되는 메소드들이  한 집단에 있어선 안되는 것이 상식적이긴 하다. 

 

 

과제를 하기위한 재료들을 모두 모아본다. 

JPanel  JFrame

JTextArea 

JScrollPane

boolean

setBounds/  setVisible/  setLayout/ setBackground / Color. xxxx/  setOpaque /  add/  addMouseListener

/addMouseMotionListnener/    Inner Class/  e.getX  /  e.getY /  getText. 

repaint() //  remove and repaint //  repaint 대상은? 바로 패널.

종이 위가 아닌곳에서 마우스 프레스가 되는 순간  드래그는 작동 말아야하며,

종이 위에서 마우스 프레스 되면  드래그는 작동하면서  dragged 를 따라서 객체는 이동한다. 종이가 이동한다.

 

// 필수사항  = 2개 클래스 열고  리스너, 모션리스너를 구현해준다.

implement 쓰고 멋지게  ALt S V  Enter 누르면서 메소드들이 빠르게 등장하게 해주는 것이  이과제의 하이라이트다.

text생기게 하는 방식은 여러가지가 있다. 

 

1.  클래스 생성시 생겨나게한다. // add 텍스트,  라벨  순으로 해서

라벨이 드러나게 한다?  

add T , L 이면  T가 위로나오고

add L T 이면 분홍바탕이 위로 올라온다. 

먼저 add하면 같은 바운드에 올려도 먼저 add한놈이 승자다. 

그런데 함정이 있다.  분홍으로 감춘줄 알았는데 감춰진 것이 아니라는 걸 볼수 있었다. 

그래서  text컴포넌트만 싹 감춰주는 방식을 쓴다. // 그러면 분홍이만 나온다. 

// 이제 마우스를 오픈해준다.

 

텍스트로 바꾸는것이 되지 않는다. 

텍스트로 복귀시키는 것. 

 

 

결론은 망했다. 

 

 

 

텍스트가 한번은 잘 활성화되지만 다시 누를때 분홍이가 뜨면서 

완전히 막혀버린다.

잠깐의 visible 로 는 한계가 있는것같다. 

아침이되어도~~

 원인을 모르겠고

해결방법을 모르겠다. 

ㅎㅎ쉽지않다.

겸손하게 많이 배워야겠다.

반응형