【Java】swing JFrame ウインドウに画像を表示する ついでに画像をリサイズする

リサイズ後のサイズを pictureWidth, pictureHeight にセットしておく。
イメージのファイル名は filename に。

    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame();
    frame.setLayout(new GridLayout(1, 1));

    BufferedImage img = null;
    img = ImageIO.read(new File(filename));

    Image dimg = img.getScaledInstance(pictureWidth, pictureHeight, Image.SCALE_SMOOTH);

    ImageIcon image;
    image = new ImageIcon(dimg);
    image.getImage().flush();

    JLabel label = new JLabel(image);
    frame.add(label);

    frame.pack();

    frame.setVisible(true);