Java: фон JPanel не масштабируется
Я пытаюсь нарисовать изображение на JPanel в Java, и у меня это хорошо, хорошо. Моя проблема сейчас в том, что я пытаюсь сделать его масштабируемым до полного размера окна, но это не так. Я попробовал методы, и они или заставляют изображение исчезнуть, или нет никакого графического изменения.
Код, с которым я сейчас работаю:
class ImagePanel extends JPanel {
private static final long serialVersionUID = 1L;
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
Полный класс по адресу:http://pastebin.com/CpcBt2j8
Я попытался добавить в коде такой вimg = img.getScaledInstance(440, 440, Image.SCALE_SMOOTH)
и это никак не влияет. Я также попытался сделать новое изображение под названиемscaledImg
и настройкаimg
«sgetScaledInstance
значение тому, и это полностью удаляет изображение с дисплея.
Как получить масштабируемое изображение до нужного мне размера?