APL/APL2.1/TP10/Attente/Attente.java
2022-03-21 17:26:34 +01:00

75 lines
2.1 KiB
Java

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Funny extends JComponent implements WindowListener {
private boolean foreground;
public Funny() {
super();
foreground = true;
}
public void windowClosed(WindowEvent evenement) {}
public void windowClosing(WindowEvent evenement) {}
public void windowDeiconified(WindowEvent evenement) {}
public void windowIconified(WindowEvent evenement) {}
public void windowOpened(WindowEvent evenement) {}
public void windowActivated(WindowEvent evt) {
foreground = true;
repaint();
}
public void windowDeactivated(WindowEvent evt) {
foreground = false;
repaint();
}
@Override
protected void paintComponent(Graphics brush) {
Graphics newBrush = brush.create();
if (this.isOpaque()) {
newBrush.setColor(this.getBackground());
newBrush.fillRect(0, 0, this.getWidth(), this.getHeight());
}
newBrush.setColor(Color.GREEN);
newBrush.fillRect(0, 0, getWidth(), getHeight());
if (foreground) {
newBrush.setColor(Color.MAGENTA);
newBrush.fillOval(0, 0, getWidth(), getHeight());
} else {
newBrush.setColor(Color.CYAN);
int[] x1 = {0, getWidth(), getWidth() / 2};
int[] y1 = {0, 0, getHeight() / 2};
int[] x2 = {0, getWidth(), getWidth() / 2};
int[] y2 = {getHeight(), getHeight(), getHeight() / 2};
newBrush.fillPolygon(x1, y1, 3);
newBrush.fillPolygon(x2, y2, 3);
}
}
}
public class Attente {
public static void main(String[] args) {
JFrame f = new JFrame("Attente");
f.setSize(200, 200);
f.setLocation(100, 100);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(null);
Funny n = new Funny();
n.setSize(f.getWidth(), f.getHeight());
n.setLocation(0, 0);
f.add(n);
f.addWindowListener(n);
f.setVisible(true);
}
}