2012-04-07 3 views
0

페인트에서와 같이 어떻게 모양을 Java로 그릴 수 있습니까?마우스로 제어되는 모양 그리기

g2.fill3DRect(mt, mf, 45, 45, true); 

을하지만 난 어떻게 증가시킬 수 있습니다 또는 개체의 크기를 줄이거 나 우리가했던 것처럼 마우스를 사용하여 런타임 중에 모양 : 예를 들어

나는 사각형을 그리려면이 명령을 그릴 것입니다 페인트로?

+0

사이드 노트. 일반적으로'paint()'또는'paintComponent()'를 오버라이드 (override)하는 것이 좋습니다. 여기에 2 개의 예제 ([1] (http://stackoverflow.com/a/10055672/418556), [2] (http://stackoverflow.com/a/10055306/418556)) 대신'BufferedImage' . '커스텀 페인팅 (custom painting)'을하기 위해 그래픽 객체를 이미지에서 직접 가져올 수 있습니다. –

답변

1

마우스의 위치를 ​​얻을 수있는 mouse listener를 사용와 mouseUp 때

  • 는 새로운 모양을 만듭니다. 즉
    g2.fill3DRect(mt, mf, mouse.getX(), mouse.getY(), true); 
    

    그러나 동시에 만 개 사각형이 아니라 있도록 각 그리기 전에 화면 전체 사각형을 그려 화면을 취소합니다. 이것은 물론 가장 기본적인 예입니다. 더블 버퍼링과 연습을 살펴보십시오.

  • 0

    도형의 특성을 보유하는 도형 개체를 구현합니다.

    패널은 필요할 때 그릴 모양의 목록을 유지해야합니다. 또한 하나의 모양을 마우스에 부착 할 수 있습니다. 마우스를 이동하면 패널을 다시 그리기

    • 갱신 당신의 모양과 :

      은 그런 것이다 패널로의 MouseListener를 등록합니다. 당신이

    • 출시 모양을 mouseDown 때 당신이 그것을 누르면 한 후
    관련 문제