obtenir le javadoc de : MaListeElements

publicité
MaListeElements
1 sur 12
file:///D:/a/heg/util/MaListeElements.html
Overview Package
Prev Class
Class
Next Class
Tree Deprecated Index Help
Frames
Summary: Nested | Field | Constr | Method
No Frames
All Classes
Detail: Field | Constr | Method
heg.util
Class MaListeElements<E>
java.lang.Object
java.awt.Component
java.awt.List
heg.util.MaListeElements<E>
Type Parameters:
E-
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable,
javax.accessibility.Accessible
public class MaListeElements<E>
extends java.awt.List
Implémentation de la classe MaListeElements
Objectifs :
1.
2.
3.
4.
5.
6.
Construction d'un composant graphique par dérivation;
Démonstration de la notion de réutilisation par héritage;
Démonstration de la notion de spécialisation par redéfinition, ajout et suppression de méthodes;
Utilisation de la généricité et rendre générique un classe ne l'étant pas à l'origine;
Gestion d'une liste de références sur des objets;
Intégration d'un composant dans un IDE.
La classe de base du composant est java.awt.List qui présente une liste sur l'interface graphique.
Cette liste est composée de textes (Strings) sélectionnables et gère un ensemble d'événements. Cette classe
possède naturellement des propriétés et des méthodes. Il faudra utiliser celles qui nous intéressent, modifier
celles qui ne sont pas adaptées et supprimer celles qui deviennent inutiles (voir sensibles).
Dans cette version, on pose que ce sont les clients qui sont responsables de la validité des données.
Principe de base
1.
2.
3.
4.
Dériver MaListeElements de java.awt.List;
Rendre générique la classe : MaListeElements< E >;
Intégrer une structure de données pour la gestion des références sur les objets de classe E;
Ajuster les constructeurs, les attributs et les méthodes répondant au cahier des charges.
Les constructeurs de la classe parente (java.awt.List) conviennent parfaitement et nous les utiliserons donc.
1. MaListeElements () : création d'une nouvelle liste vide (4 lignes vides par défaut) et sélection unique;
2. MaListeElements (int) : création d'une nouvelle liste vide avec n lignes visibles et sélection unique;
3. MaListeElements (int, boolean) : création d'une nouvelle liste vide avec n lignes visibles et sélection unique ou
multiple.
Les méthodes :
1. Inhibition : car le parent gère uniquement le type classe String et nous voulons rendre générique
MaListeElements
1. void add (String)
2. void add (String, int)
3. String getItem (int)
4. String[] getItem ()
5. String getSelectedItem ()
6. String[] getSelectedItems ()
7. void remove (String)
11.05.2013 13:46
MaListeElements
2 sur 12
file:///D:/a/heg/util/MaListeElements.html
8. void replaceItem (String, int)
2. Surcharge : permet de rendre générique tout en conservant les noms des méthodes
(Surcharge : lors d'un héritage, même nom mais signatures différentes)
1. void add (E)
2. void add (E, int)
3. void remove (E)
3. Redéfinition : pour adapter le comportement
(Redéfinition : lors d'un héritage, même nom et mêmes signatures)
1. Object[] getSelectedObjects()
2. void remove(int)
3. void removeAll()
4. Nouvelles ou remplacent : permet d'ajouter de nouvelles fonctionnalités
(Peuvent remplacer fonctionnellement d'autres méthodes inhibées)
1. E getElem (int)
2. E[] getElem ()
3. E getSelectedElem ()
4. E[] getSelectedElem ()
5. void replaceElem (E, int)
Remarque :
Dans le cadre de classes générique, il y a des "type guard" qu'il n'est pas possible de vérifier (car le type
générique n'est justement pas encore connu et pas dans le byte code). La vérification de pourra se faire qu'a
l'exécution.
Un warning est généré à la compilation. Pour supprimer le message de warning, il faut faire précéder la
définition de la méthode par :
@SuppressWarnings("unchecked")
Pour la préparation du jar :
jar cf MaListeElements.jar MaListeElements.class
See Also:
Serialized Form
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.List
java.awt.List.AccessibleAWTList
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent,
java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy,
java.awt.Component.FlipBufferStrategy
Field Summary
Fields
Modifier and Type
Field and Description
protected java.util.ArrayList<E> el
Vecteur mémorisant les références sur les éléments de la
liste (qui sont des objets) Le type de ces éléments DOIT être E
11.05.2013 13:46
MaListeElements
3 sur 12
file:///D:/a/heg/util/MaListeElements.html
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor Summary
Constructors
Constructor and Description
MaListeElements()
Constructeur : création d'une nouvelle liste vide (4 lignes vides par défaut) et possibilité de sélection unique
dans le composant liste graphique
Utilisation du constructeur correspondant du parent (java.awt.List)
MaListeElements(int rows)
Constructeur : création d'une nouvelle liste vide avec n lignes visibles (taille du composant) et possibilité de
sélection unique dans le composant liste graphique
Utilisation du constructeur correspondant du parent (java.awt.List)
MaListeElements(int rows, boolean multipleMode)
Constructeur : création d'une nouvelle liste vide avec n lignes visibles (taille du composant) et sélection unique
ou multiple dans le composant liste graphique
Sélection multiple
true : sélection multiple false: sélection unique
Method Summary
Methods
Modifier and Type
Method and Description
void
add(E e)
Ajoute un élément (e de classe E) à la fin de la liste.
Deux structures sont impactées : La liste locale (el) qui mémorise les
références sur les objets La structure de java.awt.List qui mémorise les
chaînes de caractères affichées sur le GUI
Afin qu'il puisse être possible de renseigner le parent (java.awt.List) toutes les
classes des objets placés dans MaListeElements doivent redéfinir toString() qui
composera la chaîne de caractères présentée à l'utilisateur dans le
composant graphique.
Surcharge :add(String)
void
add(E e, int index)
Ajoute un élément (e de classe E) à la position index.
void
add(java.lang.String item)
Deprecated.
void
add(java.lang.String item, int index)
Deprecated.
E
getElem(int index)
Retourne une référence de type E le l'élément spécifié par son index.
Une seule structures est impactée : La liste locale (el) qui mémorise les
références sur les objets de classe E
11.05.2013 13:46
MaListeElements
4 sur 12
file:///D:/a/heg/util/MaListeElements.html
Remplace :getItem(int)
E[]
getElems()
Retourne un tableau de références sur les objets de type E de l'ArrayList el.
Le compilateur ne pourra pas vérifier le type des éléments du tableau.
Remarquer l'utilisation de "@SuppressWarnings("unchecked")" pour indiquer u
compilateur que l'on sait exactement ce que l'on fait et que l'on a pas besoin
d'avertissement.
Une seule structures est impactée : La liste locale (el) qui mémorise les
références sur les objets de classe E
Remplace :getItems()
java.lang.String
getItem(int index)
Deprecated.
java.lang.String[]
getItems()
Deprecated.
E
getSelectedElem()
Retourne la référence de l'objet de type E correspondant à la ligne
sélectionnée sur le composant.
Deux structures sont impactées : La liste locale (el) qui mémorise les
références sur les objets de la liste La structure de java.awt.List qui mémorise
les chaînes de caractères affichées sur le GUI
Principe : récupérer l'index de l'élément sélectionné dans le GUI et
rechercher la référence de l'objet de type E correspondante
E[]
getSelectedElems()
Retourne une collection de références de type E sur les éléments
sélectionnés.
java.lang.String
getSelectedItem()
Retourne le texte généré par le toString de l'objet de type E correspondant à la
ligne sélectionnée sur le composant.
Deux structures sont impactées : La liste locale (el) qui mémorise les
références sur les objets de la liste La structure de java.awt.List qui mémorise
les chaînes de caractères affichées sur le GUI
Principe : récupérer l'index de l'élément sélectionné dans le GUI et
rechercher la référence de l'objet de type E correspondante
Remplace :getSelectedItem()
Remplace :getSelectedItem()
java.lang.String[]
getSelectedItems()
Deprecated.
java.lang.Object[]
getSelectedObjects()
//........................................
void
remove(E elem)
Supprime la premiètre occurence de l'élément passé en paramètre de la liste.
Deux structures sont impactées : La liste locale (el) qui mémorise le texte
présenté dans l'interface GUI La structure de java.awt.List qui mémorise la
référence sur l'objet correspondant
Afin qu'il puisse être possible de renseigner le parent (java.awt.List) toutes les
classes des objets placés dans MaListeElements doivent redéfinir toString() qui
composera la chaîne de caractères présentée.
Sucharge :remove(String)
void
remove(int index)
Supprime un élément à la position indiquée par index.
Deux structures sont impactées : La liste locale (el) qui mémorise les
références sur les objets de la liste La structure de java.awt.List qui mémorise
les chaînes de caractères affichées sur le GUI
Le principe est de supprimer l'élément dans les deux structures.
Redéfini :remove(int)
void
remove(java.lang.String item)
Deprecated.
11.05.2013 13:46
MaListeElements
5 sur 12
void
file:///D:/a/heg/util/MaListeElements.html
removeAll()
Supprime tous les éléments de la liste.
Deux structures sont impactées : La liste locale (el) qui mémorise les
références sur les objets de la liste La structure de java.awt.List qui mémorise
les chaînes de caractères affichées sur le GUI
Le principe est de supprimer les éléments dans les deux structures.
Redéfini :removeAll()
void
replaceElem(E e, int index)
Remplace l'élément désigné par la position index par l'élément passé en
référence.
Deux structures sont impactées : La liste locale (el) qui mémorise les
références sur les objets de la liste La structure de java.awt.List qui mémorise
les chaînes de caractères affichées sur le GUI
Principe : remplacer dans les deux structures
Remplace :replaceElem()
void
replaceItem(java.lang.String item, int index)
Deprecated.
Methods inherited from class java.awt.List
addActionListener, addItem, addItem, addItemListener, addNotify,
allowsMultipleSelections, clear, countItems, delItem, delItems, deselect,
getAccessibleContext, getActionListeners, getItemCount, getItemListeners,
getListeners, getMinimumSize, getMinimumSize, getPreferredSize, getPreferredSize,
getRows, getSelectedIndex, getSelectedIndexes, getVisibleIndex, isIndexSelected,
isMultipleMode, isSelected, makeVisible, minimumSize, minimumSize, paramString,
preferredSize, preferredSize, processActionEvent, processEvent, processItemEvent,
removeActionListener, removeItemListener, removeNotify, select, setMultipleMode,
setMultipleSelections
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener,
addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener,
addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener,
addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet,
bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage,
createImage, createVolatileImage, createVolatileImage, deliverEvent, disable,
disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents,
enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange,
firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange,
firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground,
getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel,
getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation,
getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners,
getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics,
getForeground, getGraphics, getGraphicsConfiguration, getHeight,
getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint,
getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners,
getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize,
getMouseListeners, getMouseMotionListeners, getMousePosition,
getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners,
getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth,
getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate,
isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled,
isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet,
isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque,
isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list,
list, list, list, list, locate, location, lostFocus, mouseDown, mouseDrag,
mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll,
postEvent, prepareImage, prepareImage, print, printAll, processComponentEvent,
processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent,
processInputMethodEvent, processKeyEvent, processMouseEvent,
processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener,
removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener,
removeInputMethodListener, removeKeyListener, removeMouseListener,
removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener,
removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus,
11.05.2013 13:46
MaListeElements
6 sur 12
file:///D:/a/heg/util/MaListeElements.html
requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize,
revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor,
setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys,
setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale,
setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize,
setSize, setSize, setVisible, show, show, size, toString, transferFocus,
transferFocusBackward, transferFocusUpCycle, update, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Field Detail
el
protected java.util.ArrayList<E> el
Vecteur mémorisant les références sur les éléments de la liste (qui sont des objets) Le type de ces
éléments DOIT être E
Constructor Detail
MaListeElements
public MaListeElements()
Constructeur : création d'une nouvelle liste vide (4 lignes vides par défaut) et possibilité de sélection unique
dans le composant liste graphique
Utilisation du constructeur correspondant du parent (java.awt.List)
MaListeElements
public MaListeElements(int rows)
Constructeur : création d'une nouvelle liste vide avec n lignes visibles (taille du composant) et possibilité de
sélection unique dans le composant liste graphique
Utilisation du constructeur correspondant du parent (java.awt.List)
Parameters:
rows - nombre de lignes visibles
MaListeElements
public MaListeElements(int rows,
boolean multipleMode)
Constructeur : création d'une nouvelle liste vide avec n lignes visibles (taille du composant) et sélection unique
ou multiple dans le composant liste graphique
Sélection multiple
1. true : sélection multiple
2. false: sélection unique
11.05.2013 13:46
MaListeElements
7 sur 12
file:///D:/a/heg/util/MaListeElements.html
Parameters:
rows - nombre de lignes visibles
multipleMode - sélection multiple
Method Detail
add
@Deprecated
public void add(java.lang.String item)
Deprecated.
obsolete! : remplacé par add(E).
Overrides:
add in class java.awt.List
add
@Deprecated
public void add(java.lang.String item,
int index)
Deprecated.
obsolete! : remplacé par add(E, int).
Overrides:
add in class java.awt.List
getItem
@Deprecated
public java.lang.String getItem(int index)
Deprecated.
obsolete! : remplacé par getElem().
Overrides:
getItem in class java.awt.List
getItems
@Deprecated
public java.lang.String[] getItems()
Deprecated.
obsolete! : remplacé par getElems().
Overrides:
getItems in class java.awt.List
11.05.2013 13:46
MaListeElements
8 sur 12
file:///D:/a/heg/util/MaListeElements.html
getSelectedItems
@Deprecated
public java.lang.String[] getSelectedItems()
Deprecated.
obsolete! : remplacé par getSelectedElems().
Overrides:
getSelectedItems in class java.awt.List
remove
@Deprecated
public void remove(java.lang.String item)
Deprecated.
obsolete! : remplacé par remove(E).
Overrides:
remove in class java.awt.List
replaceItem
@Deprecated
public void replaceItem(java.lang.String item,
int index)
Deprecated.
obsolete! : remplacé par replaceElem(E, int).
Overrides:
replaceItem in class java.awt.List
Parameters:
item -
add
public void add(E e)
Ajoute un élément (e de classe E) à la fin de la liste.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Afin qu'il puisse être possible de renseigner le parent (java.awt.List) toutes les classes des objets placés dans
MaListeElements doivent redéfinir toString() qui composera la chaîne de caractères présentée Ã
l'utilisateur dans le composant graphique.
Surcharge :add(String)
Parameters:
e - référence de l'objet à ajouter qui doit être de classe E qui doit être de classe E
add
11.05.2013 13:46
MaListeElements
9 sur 12
file:///D:/a/heg/util/MaListeElements.html
public void add(E e,
int index)
Ajoute un élément (e de classe E) à la position index.
Parameters:
e - référence de l'objet à ajouter qui doit être de classe E
index - position d'insertion dans la liste (0-basé). Insérer à la fin si l'index est supérieur au nombre
d'éléments.
See Also:
(E e)
Sucharge :add(String, int)
remove
public void remove(E elem)
Supprime la premiètre occurence de l'élément passé en paramètre de la liste.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise le texte présenté dans l'interface GUI
2. La structure de java.awt.List qui mémorise la référence sur l'objet correspondant
Afin qu'il puisse être possible de renseigner le parent (java.awt.List) toutes les classes des objets placés dans
MaListeElements doivent redéfinir toString() qui composera la chaîne de caractères présentée.
Sucharge :remove(String)
Parameters:
elem -
getSelectedObjects
public java.lang.Object[] getSelectedObjects()
//........................................ // Redéfinitions //........................................ /** Récupère les références sur les
sélections faites par l'utilisateur dans l'interface GUI.
La recherche des références doit se faire dans les deux listes :
1. La structure de java.awt.List qui retourne en temps normal un tableau de référence sur les Objets
sélectionnés dans l'interface GUI
2. La liste locale (el) devra rechercher les correspondances pour retourner au client un autre tableau de
références sur sa structure locale
Le principe est de rechercher les index dans le parent et de composer le tableau résultat avec les références
correspondant aux index dans la structure locale (el).
Redéfini :getSelectedObjects ()
Specified by:
getSelectedObjects in interface java.awt.ItemSelectable
Overrides:
getSelectedObjects in class java.awt.List
remove
public void remove(int index)
Supprime un élément à la position indiquée par index.
11.05.2013 13:46
MaListeElements
10 sur 12
file:///D:/a/heg/util/MaListeElements.html
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets de la liste
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Le principe est de supprimer l'élément dans les deux structures.
Redéfini :remove(int)
Overrides:
remove in class java.awt.List
Parameters:
index - position de l'élément à supprimer (0-basé).
removeAll
public void removeAll()
Supprime tous les éléments de la liste.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets de la liste
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Le principe est de supprimer les éléments dans les deux structures.
Redéfini :removeAll()
Overrides:
removeAll in class java.awt.List
getElem
public E getElem(int index)
Retourne une référence de type E le l'élément spécifié par son index.
Une seule structures est impactée :
1. La liste locale (el) qui mémorise les références sur les objets de classe E
Remplace :getItem(int)
Parameters:
index - position de l'objet (0-basé)
Returns:
E
getElems
public E[] getElems()
Retourne un tableau de références sur les objets de type E de l'ArrayList el.
Le compilateur ne pourra pas vérifier le type des éléments du tableau.
Remarquer l'utilisation de "@SuppressWarnings("unchecked")" pour indiquer u compilateur que l'on sait exactement
ce que l'on fait et que l'on a pas besoin d'avertissement.
Une seule structures est impactée :
1. La liste locale (el) qui mémorise les références sur les objets de classe E
Remplace :getItems()
11.05.2013 13:46
MaListeElements
11 sur 12
file:///D:/a/heg/util/MaListeElements.html
Returns:
E[]
getSelectedItem
public java.lang.String getSelectedItem()
Retourne le texte généré par le toString de l'objet de type E correspondant à la ligne sélectionnée sur le
composant.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets de la liste
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Principe : récupérer l'index de l'élément sélectionné dans le GUI et rechercher la référence de l'objet
de type E correspondante
Remplace :getSelectedItem()
Overrides:
getSelectedItem in class java.awt.List
getSelectedElem
public E getSelectedElem()
Retourne la référence de l'objet de type E correspondant à la ligne sélectionnée sur le composant.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets de la liste
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Principe : récupérer l'index de l'élément sélectionné dans le GUI et rechercher la référence de l'objet
de type E correspondante
Remplace :getSelectedItem()
Returns:
E
getSelectedElems
public E[] getSelectedElems()
Retourne une collection de références de type E sur les éléments sélectionnés.
Le compilateur ne pourra pas vérifier le type des éléments du tableau.
Remarquer l'utilisation de "@SuppressWarnings("unchecked")" pour indiquer au compilateur que l'on sait
exactement ce que l'on fait et que l'on a pas besoin d'avertissement.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets de la liste
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Principe : récupérer les index des éléments sélectionnés dans le GUI et rechercher les références
des objets de type E correspondantes
Remplace :getSelectedElems()
Returns:
E[]
11.05.2013 13:46
MaListeElements
12 sur 12
file:///D:/a/heg/util/MaListeElements.html
replaceElem
public void replaceElem(E e,
int index)
Remplace l'élément désigné par la position index par l'élément passé en référence.
Deux structures sont impactées :
1. La liste locale (el) qui mémorise les références sur les objets de la liste
2. La structure de java.awt.List qui mémorise les chaînes de caractères affichées sur le GUI
Principe : remplacer dans les deux structures
Remplace :replaceElem()
Parameters:
e - référence de l'élément à remplacer de classe E
index - position de l'élément à supprimer (0-basé).
Overview Package
Prev Class
Class
Next Class
Tree Deprecated Index Help
Frames
Summary: Nested | Field | Constr | Method
No Frames
All Classes
Detail: Field | Constr | Method
11.05.2013 13:46
Téléchargement