2009년 11월 27일
그림 날아가지 않는 화이트보드!!
WhiteBoardRecallection.java
MyCan.java
MenuSetting.java
StartingFrame.java
ArcFrame.java
화면 크기변동이나 가려졌다가 다시 보일때 그림 사라지는건 수정했는데요
제가 여기에 지우기 라는 기능을 넣어놨었는데
그림을 사라지지않게 했더니..그리기 기능이 제대로 수행이 안되더라구요
PictureType라는 클래스를 이용해서 그림하나마다 각각의 객체로
벡터에 저장해서 불러온뒤에 그리는 방식으로 소스 작성을했는데요
테스트 하다보니까 나중에 그린 그림이 먼저 그렸던 그림보다 후위로 밀려나서
나중에그린 그림이 깔리는것때문에 안되는거같아서
벡터에 들어있는 데이터를 역순으로 끄집어내서 해봤거든요
순차적으로 꺼내서 그리는거랑 차이점은 순차적으로 꺼내서 그릴땐
지우기 기능으로 그린다음에 다른 도형을 그려도
그냥 말짱히 그림이 그려지구요 그린뒤에 지우기를 사용해도 마찬가지더라구요
그런데 역순으로 할때에는 지우기로 뭉개준다음에 다른걸 그리면
지우기를 그렸던 자리는 하얗게 비어있는 모양이 보이는데요...
벡터에 있는 객체를 역순으로 그려도..순차적으로 그려도..
먼저그린 그림보다 나중에 그린 그림이 계속 뒷배경으로 깔리는데요..
이상해요이거--;;실제로그리면 그렇지않은데 ㅜㅜ
순서를 뒤집어놔도 그리되다보니....벡터에 있는 객체들을
정렬로해서 우선순위를 정한다음에 그 순서대로 배치를하면 가능할까요..?
아..그리고 문제점이 발견됐는데 그..시작하자마자나 전체지우기를 한다음에
지우기 버튼 누르고 한번 그리고나서 또 그리면 ArrayIndexBouncing 익셉션이 발생하더라구요
지우기버튼을 눌렀을때는 마우스를 드래그할때도 하나씩의 그림으로 인식하게끔
index를 증가하게 해놓았는데 그것때문에 실제 벡터에 들어가있는값보다
index가 더 높아져서 에러가나는것같은데....드래그할때 index를 증가시키지 않으면
하나하나의 clearRect가 그려지지 않는데 이거 어떻게 해결해야될까요
# by | 2009/11/27 06:44 | JAVA프로그래밍 | 트랙백 | 덧글(1)



