Загрузите изображение в BufferedImage
.
Добавьте ComponentListener
, чтобы определить, когда изменяется размер кадра.Используйте размер кадра, чтобы рассчитать масштабирование, и наберите BufferedImage.getScaledImage(xScale, yScale)
, чтобы получить масштабированное изображение.
В вашем классе вы должны переопределить paintBackground()
для рисования.Просто вызовите g.drawImage (scaledImage, getWidth (), getHeight (), this), чтобы нарисовать изображение.
Любые компоненты, которые вы добавляете в рамку, должны вызывать setOpaque(false)
, чтобы под ними был нарисован фон.