import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Attente extends JFrame { private JPanel panel; private boolean isInBackground = false; public Attente() { setTitle("Attente"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 300); setLocationRelativeTo(null); // Création du panneau panel = new JPanel() { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); if (isInBackground) { // Dessiner des triangles lorsque la fenêtre est en arrière-plan dessinerTriangles(g); } else { // Dessiner un disque magenta lorsque la fenêtre est en premier plan g.setColor(Color.MAGENTA); int diametre = Math.min(getWidth(), getHeight()) - 50; int x = (getWidth() - diametre) / 2; int y = (getHeight() - diametre) / 2; g.fillOval(x, y, diametre, diametre); } } }; panel.setBackground(Color.GREEN); // Définir la couleur de fond du panneau // Ajouter le panneau à la fenêtre add(panel); // Ajouter un WindowListener pour détecter les événements de la fenêtre addWindowListener(new WindowAdapter() { @Override public void windowActivated(WindowEvent e) { isInBackground = false; panel.repaint(); // Redessiner le panneau lorsque la fenêtre revient au premier plan } @Override public void windowDeactivated(WindowEvent e) { isInBackground = true; panel.repaint(); // Redessiner le panneau lorsque la fenêtre passe en arrière-plan } }); setVisible(true); } // Méthode pour dessiner des triangles private void dessinerTriangles(Graphics g) { g.setColor(Color.BLACK); int[] x = null; x = new int[] {90,0,0,90}; int[] y = null; y = new int[] {100,0,100,0}; g.fillPolygon(x,y,4); } public static void main(String[] args) { new Attente(); } }