일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 마케팅클라우드
- JPOP
- MarketingCloud
- 윈도우 #크롬탭 #크롭탭복사 #크롬탭복제 #크롬사용법 #크롬꿀팁 #업무꿀팁 #일상꿀팁
- 생산성 #24시간알차게 #올해의시간트레이닝 #셀프코치
- 프랑스어단어
- 국비과정
- 프랑스어배우는이유
- 힘들어도
- 음식사진없음
- 마무리구원투수내동생땡큐
- 셀포
- 힘들다
- 세일즈포스
- 더이상의 자세한 설명은 생략한다
- 프랑스어
- 다먹어치움
- 제목은음식인데
- 프랑스어기초
- SF
- Today
- Total
뚜벅이
스윙과제 두번째( 완패) 본문
포스트 잇을 구현한다
핵심은 마우스 액션 모션 리스너들을 임포트해야하는것이다.
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 로 는 한계가 있는것같다.
아침이되어도~~
원인을 모르겠고
해결방법을 모르겠다.
ㅎㅎ쉽지않다.
겸손하게 많이 배워야겠다.