On va remplacer la classe standard JPanel par une classe personnalisée qui en dérive :
Créer une nouvelle classe non exécutable PanneauPerso qui étend (extends) la classe JPanel, de même que la classe Fenetre étend la classe JFrame.
Importer les bibliothèques swing et awt au début du fichier :
import javax.swing.*; import java.awt.*;
Ajouter à la classe PanneauPerso un constructeur PanneauPerso() contenant les instructions
super(); setOpaque(true); setPreferredSize(new Dimension(500,500)); setBackground(new Color(200,255,220));
Par défaut un panneau de type PanneauPerso aura ainsi une taille de 500 × 500 pixels, il ne sera pas transparent et son fond sera de couleur vert pâle.
Il suffit maintenant de remplacer dans la classe Fenetre toutes les occurrences de "JPanel" par "PanneauPerso", puis d'exécuter Appel, pour visualiser le résultat.
import javax.swing.*; import java.awt.*; public class Fenetre extends JFrame{ PanneauPerso panneau; Fenetre (){ super(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panneau=new PanneauPerso(); getContentPane().add(panneau); pack(); setLocation(400,400); setVisible(true); } }