Cours les conteneurs de Swing, tutoriel & guide de travaux pratiques en pdf.
Conteneurs généraux
JPanel
- Conteneur très général, dérive immédiatement de JComponent
- Contient un FlowLayout par défaut
- Est opaque, ce qui importe pour les dessins.
Box
- Ne descend pas de JComponent
- Sert comme conteneur avec remplissage, car utilise BoxLayout
- Ne peut avoir de bordurecar ne descend pas de JComponent.
Les couches de JFrame
JLayeredPane
- Conteneur général pour des composants en couche.
- On peut donner des valeurs de niveau aux composants indiquant qui est affiché au dessus.
- Utilise le nullLayout, donc positionner ses enfants avec setBounds().
- Classe mère de JDesktopPane.
JLayeredPane
- La profondeur d’une couche est représenté par un objet Integer.
- Six profondeurs prédéfinies
#FRAME_CONTENT_LAYER (-30000)
le contentPaneest de ce niveau
#DEFAULT_LAYER (0)
niveau “par défaut”
#PALETTE_LAYER (100)
pour les palettes, boîtes à outils déplaçables
#MODAL_LAYER (200)
pour les dialogues modaux
#POPUP_LAYER (300)
pour les menus glissants, les tooltips
#DRAG_LAYER (400)
pour le glisser-déposer
- L’affichage est évidemment en ordre croissant
JDesktopPane
- Conteneur pour gérer des JInternalFrames.
- Ces composants peuvent être retaillés, minimisés, etc.
- Comme JLayeredPane, utilise un Layout null.
- Deux autres classes utilisées
#DesktopManagerqui gère les opérations des JInternalFramesdépendant du look-and-feel. JDesktopPanecrée un DefaultDesktopManager.
#DesktopPaneUIqui gère le graphique du DesktopPane(mais pas des internal frames). Obtenu du look-and-feel courant.
JRootPane
- Composant avec un rôle très précis.
- Le seul fils possible pour JWindow, JDialog, JFrameet
JInternalFrame
- Un JRootPanea deux parties : glassPaneet layeredPane, et cette deuxième a deux parties : menuBaret contentPane.
- Les menuBaretcontentPanesont créés et gérés par JRootPane.
- Le glassPanesert à capter des évènements souris.
……….
Cours Swing (204 Ko) (Cours PDF)