JComponent | Java Swing
La classe JComponent est la classe de base de tous les composants Swing, à l’exception des conteneurs de niveau supérieur. Les composants Swing dont les noms commencent par « J » sont des descendants de la classe JComponent. Par exemple, JButton, JScrollPane, JPanel, JTable etc. Mais, JFrame et JDialog n’héritent pas de la classe JComponent car ils appartient aux conteneurs de niveau supérieur.
La classe JComponent hérite la classe Container qui hérite elle-même Component. La classe Container prend en charge l’ajout de composants au conteneur.
Les constructeurs de la classe JComponent sont:
- JComponent() : Constructeur JComponent par défaut.
Les méthodes couramment utilisées sont:
- setActionMap(ActionMap a) : Il définit l’ActionMap sur a.
- setBackground(Color bg) : Il définit la couleur d’arrière-plan de ce composant.
- setFont(Font font) : Il définit la police de ce composant.
- setMaximumSize(Dimension maximumSize) : Il définit la taille maximale de ce composant sur une valeur constante.
- setMinimumSize(Dimension minimumSize) : Il définit la taille minimale de ce composant sur une valeur constante.
- setUI(ComponentUI newUI) : Il définit le délégué de l’apparence de ce composant.
- setVisible(boolean aFlag) : Il rend le composant visible ou invisible.
- setForeground(Color fg) : Il définit la couleur de premier plan de ce composant.
- getToolTipText(MouseEvent event) : Il renvoie la chaîne à utiliser comme info-bulle pour l’événement.
- getTopLevelAncestor() : Il renvoie l’ancêtre de niveau supérieur de ce composant (soit Window ou Applet), soit null si ce composant n’a été ajouté à aucun conteneur.
- getTransferHandler() : Il récupére la propriété transferHandler.
Exemple:
import java.awt.*; import javax.swing.*; class ComponentTest extends JComponent { public void paint(Graphics g) { g.setColor(Color.red); g.fillRect(40, 40, 100, 100); } } public class Main { public static void main(String[] arguments) { ComponentTest c = new ComponentTest(); // créer un JFrame de base JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("Exemple JComponent"); frame.setSize(300,300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // ajouter le JComponent au frame frame.add(c); frame.setVisible(true); } }
Sortie: