Как показать изображение BufferedImage в окне JFrame?

325
06 октября 2017, 15:04

Есть картинка image типа BufferedImage. Надо вывести её в окне window типа JFrame.

Answer 1

Раздел официальной документации Drawing an Image

import java.io.File;
import java.io.IOException;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import javax.imageio.ImageIO;
public class App {
    public static void main(String[] args) throws IOException {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setSize(200, 200);
        BufferedImage image = ImageIO.read(new File("image.jpg"));
        JPanel pane = new JPanel() {
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                g.drawImage(image, 0, 0, null);
            }
        };
        frame.add(pane);
        frame.setVisible(true);
    }
}
READ ALSO