75 lines
2.1 KiB
Java
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);
|
|
}
|
|
} |