Les interfaces de gestion d’événements (la suite)
Les interfaces de gestion d’événements Rappel : Pour gérer des événements, il faut implémenter des interfaces écouteur (listener) Chaque interface définit des méthodes à écrire si l’événement se produit
Les interfaces de gestion d’événements Rappel : Les écouteurs de bas niveau sont ceux qui permettent de gérer des événements système (souris, clavier, mémoire, ...) Les écouteurs de haut niveau représentent une action de l’utilisateur qui a un sens. Cela s’avère souvent être une combinaison d’évènements de bas niveau.
Les interfaces de gestion d’événements Toutes les méthodes suivantes reçoivent un objet de la classe WindowEvent en paramètre WindowListener windowOpened, windowClosed, windowActivated, windowDeactivated, windowIconified, windowDeiconified
Les interfaces de gestion d’événements Suite WindowFocusListener windowGainedFocus, windowLostFocus WindowsStateListener windowStatedChanged
Les interfaces de gestion d’événements À l’exception de mouseWheelMoved, toutes Les méthodes suivantes reçoivent un objet de la classe MouseEvent en paramètre MouseListener mouseClicked, mousePressed, mouseReleased, mouseEntered, mouseExited
Les interfaces de gestion d’événements Suite MouseMotionListener mouseMoved, mouseDragged MouseWheelListener mouseWheelMoved (MouseWheelEvent)
Les interfaces de gestion d’événements Toutes Les méthodes suivantes reçoivent un objet de la classe KeyEvent en paramètre KeyListener keyTyped, keyPressed, keyReleased En résumé, il faut connaître les interfaces écouteur associées à un composant.
Les interfaces de gestion d’événements Il existe des classes qui implémentent les interfaces de gestion d’événements. On appelle ces classes des adapteurs. MouseAdapter KeyAdapter ... Ces classes évitent d’avoir à écrire les méthodes qui ne servent pas.
Les interfaces de gestion d’événements Exemple d’adapteur public class MouseAdapter implements MouseListener{ public void mousePressed(MouseEvent arg0) {} public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mouseClicked(MouseEvent arg0) {} public void mouseReleased(MouseEvent arg0) {} }
Gestionnaires de disposition (LayoutManager)
Gestionnaires de disposition (LayoutManager) La disposition des composants dans un GUI n’est pas une mince tâche Deux façons de disposer : Manuellement (déconseillé) En utilisant les gestionnaires de disposition Les différents gestionnaires sont expliqués à : java.sun.com/docs/books/tutorial/uiswing/layout/visual.html
Gestionnaires de disposition (LayoutManager) Quelques points importants : La disposition par défaut de contentPane est BorderLayout La disposition par défaut d’un JPanel est FlowLayout Si on ajoute un composant dans un cadre après que la fenêtre soit visible, il faut aviser avec validate() ou pack(). Un composant ne peut être que dans un seul conteneur à la fois.
Exemple de composants Swing Vous pouvez voir des exemples d’utilisation de tous les composants Swing à : http://java.sun.com/docs/books/tutorial/uiswing/components/
Exemple