alxtree
Class AlxTree

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--alxtree.AlxTree
All Implemented Interfaces:
javax.accessibility.Accessible, AlxNoeudListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.io.Serializable

public class AlxTree
extends java.awt.Canvas
implements java.awt.event.MouseListener, AlxNoeudListener

Titre : AlxTree Description : composant graphique AWT permettant de représenter une arboressence

Version:
1.0
Author:
Alexandre Alapetite
See Also:
AlxTreeListener, Serialized Form

Inner Class Summary
(package private)  class AlxTree.PointeurInteger
          pointeur sur int
 
Inner classes inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  AlxTree.PointeurInteger hauteur
           
private  int height
          pour remplacer la méthode getHeight() indisponible en JDK 1.1
private  AlxBufferedImage[] images
          tableau de morceaux d'images
private static int IMG_DOUBLE_BUFFER
           
private static int IMG_FERME_PLEIN
           
private static int IMG_FERME_RACINE
           
private static int IMG_FERME_VIDE
           
private static int IMG_HAUTEUR
           
private static int IMG_LARGEUR
           
private static int IMG_LIENS
           
private static int IMG_LIENS_LARGEUR
           
private static int IMG_OUVERT_PLEIN
           
private static int IMG_OUVERT_RACINE
           
private static int IMG_OUVERT_VIDE
           
private  java.util.Vector listenerList
          liste des AlxTreeListener qui se sont enregistrés
private  AlxNoeud racine
          racine de l'arbre à afficher
private  boolean running
          bricolage pour ne pas faire initGraphic() dans le constructeur, mais dans le premier paint()
private  int width
          pour remplacer la méthode getWidth() indisponible en JDK 1.1
 
Fields inherited from class java.awt.Canvas
base, nameCounter, serialVersionUID
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dbg, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AlxTree()
           
AlxTree(AlxNoeud racine)
           
 
Method Summary
 void addChangeListener(AlxTreeListener l)
          Permet de s'inscrire pour recevoir un événement lorsque cet AlxTree est modifié
protected  void affiche()
          repeint le buffer et l'affiche
private  void affiche(java.awt.Graphics graphics)
          méthode d'affichage de départ sur un buffer pour un arbre complet.
Appelle affiche(Graphics graphics,AlxNoeud alxNoeud, int largeur, PointeurInteger hauteur)
private  void affiche(java.awt.Graphics graphics, AlxNoeud alxNoeud, int largeur, AlxTree.PointeurInteger hauteur)
          méthode d'affichafe récursive sur un Graphics
 void alxNoeudChanged(AlxNoeudEvent ane)
          en réponse à une modification d'un noeud de cet AlxTree
private  void dessineCarreMoins(AlxBufferedImage bufferedImage, java.awt.Graphics graphics)
           
private  void dessineCarrePlus(AlxBufferedImage bufferedImage, java.awt.Graphics graphics)
           
private  void dessineDossierFerme(AlxBufferedImage bufferedImage, java.awt.Graphics graphics)
           
private  void dessineDossierOuvert(AlxBufferedImage bufferedImage, java.awt.Graphics graphics)
           
private  void dessineImgFermePlein(AlxBufferedImage bufferedImage)
           
private  void dessineImgFermeRacine(AlxBufferedImage bufferedImage)
           
private  void dessineImgFermeVide(AlxBufferedImage bufferedImage)
           
private  void dessineImgLiens(AlxBufferedImage bufferedImage)
           
private  void dessineImgOuvertPlein(AlxBufferedImage bufferedImage)
           
private  void dessineImgOuvertRacine(AlxBufferedImage bufferedImage)
           
private  void dessineImgOuvertVide(AlxBufferedImage bufferedImage)
           
private  void dessineLiensHorizComplet(AlxBufferedImage bufferedImage)
           
private  void dessineLiensVert(AlxBufferedImage bufferedImage)
           
private  void dessineLiensVertComplet(AlxBufferedImage bufferedImage)
           
private  void dessinePlus(AlxBufferedImage bufferedImage, java.awt.Graphics graphics)
           
private  void fireTreeChanged(AlxNoeud alxNoeud, int code)
          transmet une notification de modification à tous les AlxTreeListener inscrits
 int getHeight()
          réécriture car indisponible en JDK1.1
private  java.awt.Image getImage(int code)
          retourne l'image du code donné du tableau images
 AlxNoeud getRacine()
          retourne la racine de l'arbre
 int getWidth()
          réécriture car indisponible en JDK1.1
(package private)  void initGraphique()
          code d'initialisation des composants graphiques
 void mouseClicked(java.awt.event.MouseEvent e)
          en réponse à un événement souris sur cet AlxTree
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void paint(java.awt.Graphics graphics)
          affiche le composant en utilisant son buffer
 void setSize(int width, int height)
           
private  void toutBlanc(AlxBufferedImage bufferedImage, java.awt.Graphics graphics)
          permet de remplir avec la couleur de fond une AlxBufferedImage
 
Methods inherited from class java.awt.Canvas
, addNotify, constructComponentName, getAccessibleContext, postsOldMouseEvents
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkGD, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createChildHierarchyEvents, createHierarchyEvents, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, dispatchEventImpl, doLayout, enable, enable, enableEvents, enableInputMethods, eventEnabled, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, initIDs, inside, invalidate, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, layout, lightweightPaint, lightweightPrint, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, numListening, paintAll, paintHeavyweightComponents, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, printHeavyweightComponents, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, readObject, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, resetGC, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setVisible, show, show, size, toString, transferFocus, update, validate, writeObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

running

private boolean running
bricolage pour ne pas faire initGraphic() dans le constructeur, mais dans le premier paint()

hauteur

private AlxTree.PointeurInteger hauteur

racine

private AlxNoeud racine
racine de l'arbre à afficher

listenerList

private java.util.Vector listenerList
liste des AlxTreeListener qui se sont enregistrés
See Also:
AlxTreeListener

images

private AlxBufferedImage[] images
tableau de morceaux d'images

IMG_LIENS_LARGEUR

private static final int IMG_LIENS_LARGEUR

IMG_HAUTEUR

private static final int IMG_HAUTEUR

IMG_LARGEUR

private static final int IMG_LARGEUR

IMG_LIENS

private static final int IMG_LIENS

IMG_FERME_RACINE

private static final int IMG_FERME_RACINE

IMG_OUVERT_RACINE

private static final int IMG_OUVERT_RACINE

IMG_FERME_PLEIN

private static final int IMG_FERME_PLEIN

IMG_OUVERT_PLEIN

private static final int IMG_OUVERT_PLEIN

IMG_FERME_VIDE

private static final int IMG_FERME_VIDE

IMG_OUVERT_VIDE

private static final int IMG_OUVERT_VIDE

IMG_DOUBLE_BUFFER

private static final int IMG_DOUBLE_BUFFER

width

private int width
pour remplacer la méthode getWidth() indisponible en JDK 1.1

height

private int height
pour remplacer la méthode getHeight() indisponible en JDK 1.1
Constructor Detail

AlxTree

public AlxTree()

AlxTree

public AlxTree(AlxNoeud racine)
Method Detail

addChangeListener

public void addChangeListener(AlxTreeListener l)
Permet de s'inscrire pour recevoir un événement lorsque cet AlxTree est modifié

fireTreeChanged

private void fireTreeChanged(AlxNoeud alxNoeud,
                             int code)
transmet une notification de modification à tous les AlxTreeListener inscrits
See Also:
AlxTreeListener

alxNoeudChanged

public void alxNoeudChanged(AlxNoeudEvent ane)
en réponse à une modification d'un noeud de cet AlxTree
Specified by:
alxNoeudChanged in interface AlxNoeudListener
Parameters:
ane - AlxNoeud qui a subit une modification

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
en réponse à un événement souris sur cet AlxTree
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

getImage

private java.awt.Image getImage(int code)
retourne l'image du code donné du tableau images
See Also:
images

toutBlanc

private void toutBlanc(AlxBufferedImage bufferedImage,
                       java.awt.Graphics graphics)
permet de remplir avec la couleur de fond une AlxBufferedImage
Parameters:
bufferedImage - image à remplir
graphics - Graphics de l'image bufferedImage
See Also:
Component.getBackground()

dessineCarreMoins

private void dessineCarreMoins(AlxBufferedImage bufferedImage,
                               java.awt.Graphics graphics)

dessineCarrePlus

private void dessineCarrePlus(AlxBufferedImage bufferedImage,
                              java.awt.Graphics graphics)

dessinePlus

private void dessinePlus(AlxBufferedImage bufferedImage,
                         java.awt.Graphics graphics)

dessineLiensVert

private void dessineLiensVert(AlxBufferedImage bufferedImage)

dessineLiensVertComplet

private void dessineLiensVertComplet(AlxBufferedImage bufferedImage)

dessineLiensHorizComplet

private void dessineLiensHorizComplet(AlxBufferedImage bufferedImage)

dessineDossierOuvert

private void dessineDossierOuvert(AlxBufferedImage bufferedImage,
                                  java.awt.Graphics graphics)

dessineDossierFerme

private void dessineDossierFerme(AlxBufferedImage bufferedImage,
                                 java.awt.Graphics graphics)

dessineImgLiens

private void dessineImgLiens(AlxBufferedImage bufferedImage)

dessineImgFermeRacine

private void dessineImgFermeRacine(AlxBufferedImage bufferedImage)

dessineImgFermePlein

private void dessineImgFermePlein(AlxBufferedImage bufferedImage)

dessineImgFermeVide

private void dessineImgFermeVide(AlxBufferedImage bufferedImage)

dessineImgOuvertRacine

private void dessineImgOuvertRacine(AlxBufferedImage bufferedImage)

dessineImgOuvertPlein

private void dessineImgOuvertPlein(AlxBufferedImage bufferedImage)

dessineImgOuvertVide

private void dessineImgOuvertVide(AlxBufferedImage bufferedImage)

initGraphique

void initGraphique()
code d'initialisation des composants graphiques

getRacine

public AlxNoeud getRacine()
retourne la racine de l'arbre

affiche

private void affiche(java.awt.Graphics graphics,
                     AlxNoeud alxNoeud,
                     int largeur,
                     AlxTree.PointeurInteger hauteur)
méthode d'affichafe récursive sur un Graphics
Parameters:
graphics - sur lequel on va dessiner
alxNoeud - noeud qui va être dessiné
largeur - décallage du noeud par rapport à l'origine gauche
hauteur - décallage du noeud par rapport à l'origine haut

affiche

private void affiche(java.awt.Graphics graphics)
méthode d'affichage de départ sur un buffer pour un arbre complet.
Appelle affiche(Graphics graphics,AlxNoeud alxNoeud, int largeur, PointeurInteger hauteur)
See Also:
#affiche(Graphics graphics,AlxNoeud alxNoeud, int largeur, PointeurInteger hauteur)

affiche

protected void affiche()
repeint le buffer et l'affiche

getHeight

public int getHeight()
réécriture car indisponible en JDK1.1
Overrides:
getHeight in class java.awt.Component

getWidth

public int getWidth()
réécriture car indisponible en JDK1.1
Overrides:
getWidth in class java.awt.Component

setSize

public void setSize(int width,
                    int height)
Overrides:
setSize in class java.awt.Component

paint

public void paint(java.awt.Graphics graphics)
affiche le composant en utilisant son buffer
Overrides:
paint in class java.awt.Canvas