70 lines
2.3 KiB
Java
70 lines
2.3 KiB
Java
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();
|
|
}
|
|
}
|