import javax.swing.*; import java.awt.*; import java.awt.image.*; import java.io.*; public class Imagee extends JComponent { private Image image; public Imagee(int width, int height, String path) throws IOException{ image = readFromFile (width, height, path); setPreferredSize(new Dimension(width, height)); } private Image readFromFile (int width, int height, String path) throws IOException{ FileInputStream input = new FileInputStream(path); BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); byte[] read_buffer = new byte[width * height * 3]; input.read(read_buffer); int[] int_buffer = new int[read_buffer.length]; for (int i = 0;i < read_buffer.length ; i++) int_buffer[i] = read_buffer[i] & 0xFF; img.getRaster().setPixels(0,0,width,height,int_buffer); return img; } @Override protected void paintComponent(Graphics pinceau){ Graphics secondPinceau = pinceau.create(); if (this.isOpaque()) { secondPinceau.setColor(this.getBackground()); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); } secondPinceau.setColor(this.getForeground()); secondPinceau.drawImage(image, 0 ,0 , this); } }