This commit is contained in:
2024-03-18 13:54:22 +01:00
parent eb581c8a31
commit a28bef01d7
69 changed files with 855 additions and 5 deletions

View File

@@ -0,0 +1,69 @@
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();
}
}