Dessiner sous Java

Création d'une classe de composant personnalisé

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); 

   }

}
 
Licence Creative Commons
licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé
Auteur : Nathalie Bonnin
Professeur de Physique, Chimie, Informatique au lycée La Martinière Monplaisir (Lyon 8ème)
Contact :
nathalie.bonnin (chez) scientillula.net
Licence Creative Commons
La totalité du contenu du site Scientillula.net appartient à Nathalie Bonnin et est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé