나는 JScrollPanel
내에 JPanel
을 가지며 전체 프로그램이 컴파일되어 실행될 때 JPanel
및 JScrollPanel
(및 다른 구성 요소도 포함)이 포함 된 GUI가 표시됩니다. 사용자가 JPanel
의 가장자리 (예 : , 픽셀, 하단 또는 왼쪽 가장자리 근처)에 무엇인가를 그릴 때마다 gui는 JPanel
의 크기를 자동으로 조정해야합니다. 즉 JPanel
의 크기를 늘려야합니다. 마우스 이벤트 리스너 (MouseDragged
, MouseClicked
, MousePressed
; 그림 사용)를 사용했으며이 청취자 내에서 JPanel
의 새 증가 크기를 설정했습니다. 따라서 가장자리에 무언가가 그려지면 JPanel
의 크기를 늘려야합니다. (증가량이 많은 경우 JScrollPane
안에 있으므로 스크롤 막대가 나타납니다). 그러나 크기 조정은 일어나지 않습니다.JPanel의 동적 크기 조정
0
A
답변
1
스크롤 막대의 뷰포트에 추가 된 구성 요소의 기본 크기가 스크롤 창의 크기보다 클 경우 자동으로 스크롤 막대가 나타납니다. 따라서 바람직한 크기를 동적으로 다시 계산하려면 JPanel의 getPreferrredSize()
메서드를 재정의해야합니다.
기본 크기 계산은 고려해야합니다
모든 구성 요소의 크기는 패널에 그려진된다. 그래서 아마 모든 구성 요소를 추적하기 위해 ArayList를 사용할 것입니다. 그런 다음 목록을 반복하면 모든 구성 요소의 최대 너비/높이 위치가 결정됩니다.
마우스를 끌 때 마우스 위치. 이 값이 위 계산의 너비/높이보다 큰 경우이 값을 사용해야합니다. 구성 요소의 레이아웃이 완료되었는지 확인하기 위해 모든 mouseDragged 이벤트에 대해
revalidate()
을 호출해야합니다.
관련 문제
- 1. JScrollPane의 내부 크기 조정 JPanel의 - 뷰포트
- 2. $ .dialogue() 동적 크기 조정
- 3. iframe 동적 크기 조정
- 4. 동적 크기 조정 입력
- 5. 동적 목록보기 크기 조정
- 6. div의 동적 크기 조정
- 7. 동적 이미지 크기 조정
- 8. SVG 동적 크기 조정
- 9. 동적 이미지 크기 조정
- 10. 동적 크기 조정 페이지
- 11. 동적 크기 조정 연결 풀 크기 c3p0
- 12. 동적 응답 크기 조정 이미지
- 13. 클리핑 및 동적 크기 조정
- 14. 동적 텍스트 필드 크기 조정
- 15. 클라우드에서 동적 클러스터 크기 조정
- 16. 동적 이미지 크기 조정 시스템
- 17. 위젯의 dojo 동적 크기 조정
- 18. 그리드 항목의 동적 크기 조정
- 19. Android 목록보기 동적 크기 조정
- 20. 동적 크기 조정 이미지 캐시
- 21. PyGobject에서 GtkLayout의 동적 크기 조정
- 22. iframe이 모달 동적 크기 조정
- 23. Jquery 크기 조정 동적 업데이트?
- 24. 라디오에서 동적 iFrame 크기 조정
- 25. 동적 배열 크기 조정 C++
- 26. 동적 문자열 배열 크기 조정
- 27. Wordpress 동적 축소판 크기 조정
- 28. android layout 동적 크기 조정
- 29. FullCalendar의 동적 크기 조정 iframe
- 30. 안드로이드에서 GLSurfaceView의 동적 크기 조정
더 나은 도움을 받으려면 [MCTaRE] (http://stackoverflow.com/help/mcve) (최소 완성도 및 판독 가능 예)를 게시하십시오. –