import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.awt.image.*; import java.lang.Object; import java.util.Vector; public class Frame extends JFrame { Image icon;//icone pour barre menu JFrameBackground img_background = new JFrameBackground(); //image de fond public Frame() { icon=Toolkit.getDefaultToolkit().getImage("./image.jpg"); setIconImage(icon); //fond de fenetre setContentPane(img_background); setTitle("image avec dessin"); setBounds(0,0,1000,700); //Size of jframe setVisible(true); validate(); } class JFrameBackground extends JComponent { public void paintComponent(Graphics g) { g.drawImage(this.toBufferedImage(),0,0,null); } private BufferedImage toBufferedImage() { Image image = new ImageIcon("./image.jpg").getImage(); BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics g = bufferedImage.createGraphics(); g.drawImage(image, 0,0, this); return bufferedImage; } } public void paint(Graphics g) {super.paint(g); validate(); } public void paintPoint( Graphics g, Pointt s ) {int x=s.getX(); int y=s.getY(); g.setColor(Color.red); g.fillOval(x,y,20,20); } public void PaintPoi(Pointt s) { paintPoint(getGraphics(),s); } public static void main(String arg[]) { Pointt s= new Pointt(1,300,120); Frame f=new Frame(); f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Pointt p= new Pointt(2,250,200); Pointt o=new Pointt(3,220,120); Pointt q=new Pointt (4,310,150); Pointt l=new Pointt(5,300,400); f.PaintPoi(s); f.PaintPoi(p); f.PaintPoi(o); f.PaintPoi(q); f.PaintPoi(l); f.validate() ; } }