import javax.swing.JPanel; import java.awt.Dimension; import java.awt.Image; import java.awt.Graphics; import java.awt.Color; import javax.imageio.ImageIO; import java.io.File; import java.io.IOException; public class ArdoiseMonde extends JPanel { private boolean faireMonde = false; private boolean entourer = false; static final int PETIT = 10; static final int MOYEN = 20; static final int GRAND = 40; private int rayon = PETIT; private Image image; public ArdoiseMonde() { try { image = ImageIO.read(new File("../images/world.gif")); } catch(IOException exc) { exc.printStackTrace(); } setPreferredSize(new Dimension(100, 100)); } public void setRayon(int rayon) { this.rayon = rayon; } public void inverserEntourer() { entourer = !entourer; } public void inverserFaireMonde() { faireMonde = !faireMonde; } public Image getImage() { return image; } public void paintComponent(Graphics g) { super.paintComponent(g); if (faireMonde) g.drawImage(image, getWidth()/2 - rayon, getHeight()/2 - rayon, 2 * rayon, 2 * rayon, this); else { g.setColor(Color.red); g.fillOval(getWidth()/2 - rayon, getHeight()/2 - rayon, 2*rayon, 2*rayon); } if (entourer) { int i; int largeur, hauteur; largeur = getWidth(); hauteur = getHeight(); g.setColor(Color.BLUE); for(i = 0; i < 10; i++) g.drawOval(largeur/2 - rayon - i, hauteur/2 - rayon - i , 2*rayon + 2 * i, 2 * rayon + 2 * i); } } }