나는 JPanel
에서 상속하는 클래스를 가지고있다. 그것은 DrawingPanel
이라고하며이 클래스에서 나는 Graphics2D
를 사용하여 선과 도형을 그리고 나는이 모양에서 일부 작업을 수행하는 사용자의 마우스의 위치를 사용합니다.JPanel의 모든 내용을 이동하는 방법은 무엇입니까?
패널의 그림은 화면에 많은 공간을 차지할 수 있습니다 (예 : (-200, -300)에서 (2000, 1000)까지 선을 그릴 수 있음) 실제로 드로잉의 일부만 볼 수 있습니다 . 그래서 스크롤을 사용하여 내 패널에 그려진 모든 것을 옮길 수 있기를 바랍니다.
이 할 수있는 간단하고 우아한 해결책이 있나요, 그리고 내 코드에 너무 많은 변경이 필요하지 않을까요?편집 실제로는 내 문제는 Graphics2D
으로 그려진 모양의 JPanel
에서 스크롤하는 우아한 방법을 모른다는 것입니다. JScrollPane
에 내 JPanel
을 추가하려했지만 작동하지 않았습니다. 실질적으로 코드에 무엇을 추가해야합니까?
"그래서 JPanel에 그려진 모든 것을 스크롤 할 수 있기를 바랍니다." 이것은 스크롤링이 본질적으로하는 것이 아닙니까? 뷰포트를 캔버스의 다른 영역으로 이동 하시겠습니까? 이것은 물리학 상대성과 비슷합니다. 뷰포트 이동은 이동하는 셰이프와 같습니다. – thatidiotguy
가장 우아한 해결책은 다음 중 하나입니다 : a) 정의 된 크기 (범위 및 축척)의 'BufferedImage'로 시작하여 스크롤 창에서 레이블에 표시하거나 b) 그려진 패널의 기본 크기를 반환합니다. X/Y 범위의 전체 범위를 지정하고 그릴 때 그래픽을 변형 (맞도록 변환) 한 다음 스크롤 창에 표시합니다. –
@AndrewThompson DooDoodle http://stackoverflow.com/questions/12683533/drawing-a-rectangle-that-wont-disappear-in-next-paint/12683632#12683632 좋은 예가 될 것입니다! :) –