Package pigeons
Class Park
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
pigeons.Park
- All Implemented Interfaces:
java.awt.event.MouseListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible
public class Park
extends javax.swing.JPanel
implements java.awt.event.MouseListener
Classe permettant de gérer un parc d'oiseaux
Ce parc permet de gerer un parc contenant des oiseaux, vous pouvez nourrir
ces oiseaux en cliquant sur votre interface, vos oiseaux seront effrayer de
manière aléatoire. Ce park peut
etre affiché à l'aide d'une
JFrame.- Since:
- 1.0
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainerNested 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 Description private java.util.ArrayList<Bird>birdsOiseaux présent dans le parcprivate java.util.ArrayList<Food>foodsNourritures présente dans le parcprivate intfrightenProbailityProbabilité d'effrayer les oiseaux, decroit à chaque actualisation du parcprivate java.util.concurrent.atomic.AtomicIntegernumWriterNombre de thread travaillant en ecriture sur l'objetFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors Constructor Description Park(int width, int height)Constructeur de l'objet representant un parc -
Method Summary
Modifier and Type Method Description voidaddBird(Bird toAdd)Ajouter un oiseau dans le parcvoidaddFood(Food toAdd)Ajouter une nourriture dans le parc Cette méthode est executé avec un verrou ce qui permet de modifier la propriété, tout en bloquant les lectures eventuelles de la propriété.java.util.ArrayList<Bird>getBirds()Obtenir les oiseaux du parcjava.util.ArrayList<Food>getFoods()Obtenir la nourriture du parc Cette méthode est executé avec un verrou ce qui permet aux oiseaux de recuperer la propriété en étant sur que la variable n'est pas en cours de modificationvoidmouseClicked(java.awt.event.MouseEvent e)voidmouseEntered(java.awt.event.MouseEvent e)voidmouseExited(java.awt.event.MouseEvent e)voidmousePressed(java.awt.event.MouseEvent e)voidmouseReleased(java.awt.event.MouseEvent e)voidpaintComponent(java.awt.Graphics g)private voidrefreshPark()Rafraichir le parc, supprime les nourriture périmés depuis un certain temps, réduit le temps de fraicheurs des nourritures et essaye d'effrayer les oiseaux du parkvoidremoveBird(int index)voidremoveFood(Food food)Supprimer une nourriture du parc Cette méthode est executé avec un verrou ce qui permet de modifier la propriété, tout en bloquant les lectures eventuelles de la propriété.voidremoveFoods(java.util.ArrayList<Food> foods)Supprimer des nourriture présente sur le parc Cette méthode est executé avec un verrou ce qui permet de modifier la propriété, tout en bloquant les lectures eventuelles de la propriété.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
birds
Oiseaux présent dans le parc -
foods
Nourritures présente dans le parc -
frightenProbaility
private int frightenProbailityProbabilité d'effrayer les oiseaux, decroit à chaque actualisation du parc -
numWriter
private java.util.concurrent.atomic.AtomicInteger numWriterNombre de thread travaillant en ecriture sur l'objet
-
-
Constructor Details
-
Park
public Park(int width, int height)Constructeur de l'objet representant un parc- Parameters:
width- longueur du parcheight- hauteur du parc
-
-
Method Details
-
getBirds
Obtenir les oiseaux du parc- Returns:
- la liste contenant les oiseaux du parcs
-
getFoods
Obtenir la nourriture du parc Cette méthode est executé avec un verrou ce qui permet aux oiseaux de recuperer la propriété en étant sur que la variable n'est pas en cours de modification- Returns:
- la liste contenant les nourritures du parc
-
addFood
Ajouter une nourriture dans le parc Cette méthode est executé avec un verrou ce qui permet de modifier la propriété, tout en bloquant les lectures eventuelles de la propriété. L'ecriture est prioritaire sur la lecture.- Parameters:
toAdd- nourriture a ajouter au parc
-
addBird
Ajouter un oiseau dans le parc- Parameters:
toAdd- Oiseau à ajouter au parc
-
removeFoods
Supprimer des nourriture présente sur le parc Cette méthode est executé avec un verrou ce qui permet de modifier la propriété, tout en bloquant les lectures eventuelles de la propriété. L'ecriture est prioritaire sur la lecture.- Parameters:
foods- liste de nourriture à supprimer du parc
-
removeFood
Supprimer une nourriture du parc Cette méthode est executé avec un verrou ce qui permet de modifier la propriété, tout en bloquant les lectures eventuelles de la propriété. L'ecriture est prioritaire sur la lecture.- Parameters:
food- nourriture à ajouter
-
paintComponent
public void paintComponent(java.awt.Graphics g)- Overrides:
paintComponentin classjavax.swing.JComponent
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)- Specified by:
mousePressedin interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
-
removeBird
public void removeBird(int index)- Parameters:
index- index de liste de l'oiseau à supprimer
-
refreshPark
private void refreshPark()Rafraichir le parc, supprime les nourriture périmés depuis un certain temps, réduit le temps de fraicheurs des nourritures et essaye d'effrayer les oiseaux du park
-