précédent | suivant | table des matières
|
La classe JDesktopPane, associée à la classe JInternalFrame permet de réaliser des applications «multi-documents». Une application multi-documents est une application pouvant avoir plusieurs fenêtres incluses dans une fenêtre principale :
Pour réaliser ceci, il faut :
La partie 1 se réalise simplement :
JDesktopPane dp = new JDesktopPane(); … setContentPane(dp);
La partie 2 se réalise de la façon suivante :
JInternalFrame iFrame = new JInternalFrame( titre, // le titre de la fenêtre rs, // true si la fenêtre est retaillable c, // true si la fenêtre est fermable m, // true si la fenêtre est maximisable i); // true si la fenêtre est iconifiable iFrame.setVisible(true); // pour rendre la fenêtre visible iFrame.setBounds(x, y, l, h); // pour configurer la taille // et la position de la fenêtre dp.add(iFrame); // ajout de la fenêtre au DesktopPane
Constructeurs
JDesktopPane() |
Crée un nouveau JDesktopPane. |
Méthodes
JInternalFrame [] getAllFrames() |
Retourne un tableau contenant toutes les fenêtres internes. |
JInternalFrame [] getAllFramesInLayer(int layer) |
|
JInternalFrame getSelectedFrame() |
Retourne la fenêtre interne sélectionnée. |
void setSelectedFrame( JInternalFrame f) |
La fenêtre f est la fenêtre sélectionnée (active). |
DesktopManager getDesktopManager() |
Retourne le DeskTopManager. |
void setDesktopManager(DesktopManager dm) |
Affecte le DeskTopManager. |
Un DesktopManager est responsable de la gestion des fenêtres internes d'un JDesktopPane.
Swing fournit une implémentation de DesktopManager : DefaultDesktopManager.
void activateFrame(JInternalFrame f) |
Rend la fenêtre f active : elle a le focus. |
void deactivateFrame(JInternalFrame f) |
f perd le focus |
void beginDraggingFrame(JComponent f) |
La fenêtre f commence à être déplacée. |
void dragFrame(JComponent f, int nX, int nY) |
f est déplacée. |
void endDraggingFrame(JComponent f) |
Fin du déplacement de f. |
void beginResizingFrame(JComponent f, int direction) |
Méthode appelée quand la fenêtre f commence à se redimensionner. |
void endResizingFrame(JComponent f) |
Fin du redimensionnement de f. |
void openFrame(JInternalFrame f) |
Affiche la fenêtre si elle est visible. |
void closeFrame(JInternalFrame f) |
Méthode qui retire f du JDesktopPane. |
void iconifyFrame(JInternalFrame f) |
Iconifie la fenêtre f. |
void deiconifyFrame(JInternalFrame f) |
f reprend la taille qu'elle avait avant iconification |
void maximizeFrame(JInternalFrame f) |
La fenêtre f est maximisée : elle occupe tout l'espace du DesktopPane. |
void minimizeFrame(JInternalFrame f) |
La fenêtre f est minimisée : elle a les dimensions qu'elle avait avant d'être maximisée. |
void resizeFrame(JComponent f, int nX, int nY, int nL, int nH) |
Redimensionne la fenêtre f. |
void setBoundsForFrame(JComponent f, int nX, int nY, int nL, int nH) |
Redimensionne la fenêtre f. |
Exemple : pour iconifier toutes les fenêtres d'un JDesktopPane :
DesktopManager dm = getJDesktopPane().getDesktopManager(); JInternalFrame[] t = getJDesktopPane().getAllFrames(); for( int i = 0; i<t.length; ++i) dm.iconifyFrame(t[i]);