Я создал пользовательский JPanel
, который отображает изображения (позволяет называть его MyPanel
), я добавил это в contentPane JFrame
.Как автоматически изменить размер JFrame в соответствии с контентом
Я хочу, чтобы JFrame
был изменен автоматически, чтобы соответствовать MyPanel
при изменении изображения.
Похоже, мне нужно позвонить frame.pack()
для этого. Вызов pack()
от MyPanel
увеличивает сцепление, поэтому я не хочу этого делать.
Чтобы решить вопрос, который я Увеличенная JFrame
(позволяет называть его MyFrame
) и сделал MyFrame
наблюдатель и наблюдаемый MyPanel
. Всякий раз, когда изображение MyPanel
отображает изменения, оно уведомляет слушателей, MyFrame
для этого экземпляра. А затем MyFrame
звонит pack()
, когда он получает уведомление.
? Существует более плавный способ изменения размера JFrame
в соответствии с его содержанием?
Да, мой подход был разумным. Спасибо за одобрение :) – nimcap