컨텐츠에 따라 JFrame을 자동으로 조정하는 방법
-
20-09-2019 - |
문제
나는 관습을 만들었다 JPanel
이미지를 표시합니다 (호출하자 MyPanel
), 나는 이것을 추가했다 JFrame
의 콘텐츠 페인.
원해요 JFrame
에 맞도록 자동으로 크기를 조정합니다 MyPanel
이미지가 변할 때.
전화해야 할 것 같습니다 frame.pack()
이것을하기 위해. 부름 pack()
~에서 MyPanel
커플 링을 증가시켜 그렇게하고 싶지 않습니다.
문제를 해결하기 위해 확장했습니다 JFrame
(그것을 부르십시오 MyFrame
) 그리고 만들었습니다 MyFrame
관찰자 및 MyPanel
주목할 만한. 이미지가있을 때마다 MyPanel
변경 사항을 표시하고 청취자에게 알립니다. MyFrame
이 경우. 그리고 MyFrame
전화 pack()
알림을 받으면.
매끄러운 크기 조정 방법이 있습니까? JFrame
내용에 따르면?
해결책
설명한 솔루션은 합리적으로 보입니다.
또는 MyPanel이 이미지를 변경할 때마다 상위 프레임을 찾은 다음 Pack ()을 호출 할 수 있습니다. 그러한 프레임이 존재하지 않으면 아무것도하지 마십시오. 추가 클래스를 만들 필요가 없으며, 얻을만큼 느슨한 커플 링. 당신이 사용할 수있는 SwingUtilities.getancestorofclass () 이것을 쉽게하기 위해.
제휴하지 않습니다 StackOverflow