Я создал пользовательский JPanel, который отображает изображения (позволяет называть его MyPanel), я добавил это в JFrame contentPane.
Я хочу, чтобы JFrame изменялся автоматически, чтобы соответствовать MyPanel при изменении изображения.
Похоже, мне нужно позвонить frame.pack(), чтобы сделать это. Вызов pack() из MyPanel увеличивает связь, поэтому я не хочу этого делать.
Чтобы решить проблему, я расширил JFrame (давайте назовем ее MyFrame) и сделал MyFrame observer и MyPanel наблюдаемым. Всякий раз, когда изображение MyPanel отображает изменения, оно уведомляет слушателей, MyFrame для этого экземпляра. И затем MyFrame вызывает pack(), когда получает уведомление.
Есть ли более плавный способ изменения размера JFrame в соответствии с его содержимым?