48 lines
1.5 KiB
Java
48 lines
1.5 KiB
Java
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
public class Formes extends JComponent {
|
|
|
|
@Override
|
|
protected void paintComponent(Graphics pinceau) {
|
|
// obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
|
|
Graphics secondPinceau = pinceau.create();
|
|
// obligatoire : si le composant n'est pas censé être transparent
|
|
if (this.isOpaque()) {
|
|
// obligatoire : on repeint toute la surface avec la couleur de fond
|
|
secondPinceau.setColor(this.getBackground());
|
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
|
}
|
|
|
|
// Carré
|
|
secondPinceau.setColor(new Color(51,153,255));
|
|
secondPinceau.fillRect(100, 100, 50, 50);
|
|
secondPinceau.setColor(Color.BLUE);
|
|
secondPinceau.drawRect(100,100,50,50);
|
|
|
|
// Disque
|
|
secondPinceau.setColor(Color.GREEN);
|
|
secondPinceau.drawOval(175,100,25,25);
|
|
|
|
// Texte
|
|
secondPinceau.setColor(new Color(80, 00, 80));
|
|
Font police = new Font("Arial", Font.BOLD, 24);
|
|
secondPinceau.setFont(police);
|
|
secondPinceau.drawString(">o<", 100, 200);
|
|
|
|
// Image
|
|
Image logo = Toolkit.getDefaultToolkit().getImage("logo.png");
|
|
secondPinceau.drawImage(logo, 175, 175, this);
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
JFrame fenetre = new JFrame();
|
|
Formes test = new Formes();
|
|
// on configure la fenetre
|
|
fenetre.setSize(500, 500);
|
|
fenetre.setLocation(0, 0);
|
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
fenetre.add(test);
|
|
fenetre.setVisible(true);
|
|
}
|
|
} |