시소당
공부하다가 repaint() 사용 하려고 하는데요.. 자세히 다룬 교재들이 없네요ㅠ api만 봐서는 잘 모르겠어요.. 자세히 좀 알려주세요.. ^^
-----------------------------------------------------------------------
안녕하세요. 말씀하신 repaint() 메소드는 현재 페인트되고 있는 영역을
새롭게 다시 그리는 메소드입니다.
제가 모바일관련하여 자바를 다루었기 때문에 쉽게 LCD로 예를 들겠습니다.(java.awt도 그리 다르지 않습니다.)
현재 디스플레이되는 화면의 영역이 120, 143일경우 repaint() 메소드를 호출하게되면
해달 영역을 다시 그리게 됩니다. 여기서 주의할점은 전에 그렸졌던 내용들을 지우고
그리는게 아니라 그냥 덮어 쓰게 됩니다. 따라서 repaint() 메소드를 호출하기전에
꼭 fillRect() 메소드로 repaint()하고자 하는 영역을 횐색으로 칠하고 하얀백지 상태에서
repaint()를 호출해야 원하시는 화면을 얻을수 있을것입니다.
또한 repaint() 메소드는 2가지를 많이 사용하느데요. 하나는 말씀드린 repaint()메소드이고
다른 한가지는 repaint(startX, startY, width, height)메소드입니다.
후자의 경우 원하는 지점부터 원하는 크기만큼만 repaint()를 할수 있기때문에
경우에 따라 보다 빠른 속도를 이끌어 낼수 있습니다.
도움이 되셨길 바라겠습니다^^;
출처 : http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106&eid=eXxYzcOC+s2Xx8Hk/Dwe7blONJWmINJ7&
qb=wNq52SByZXBhaW50KCk=