- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JScrollBar
-
- All Implemented Interfaces:
- Adjustable, ImageObserver, MenuContainer, Serializable, Accessible
- Direct Known Subclasses:
- JScrollPane.ScrollBar
public class JScrollBar extends JComponent implements Adjustable, Accessible
An implementation of a scrollbar. The user positions the knob in the scrollbar to determine the contents of the viewing area. The program typically adjusts the display so that the end of the scrollbar represents the end of the displayable contents, or 100% of the contents. The start of the scrollbar is the beginning of the displayable contents, or 0%. The position of the knob within those bounds then translates to the corresponding percentage of the displayable contents.Typically, as the position of the knob in the scrollbar changes a corresponding change is made to the position of the JViewport on the underlying view, changing the contents of the JViewport.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the
java.beans
package. Please seeXMLEncoder
.- See Also:
JScrollPane
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description protected class
JScrollBar.AccessibleJScrollBar
This class implements accessibility support for theJScrollBar
class.-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field and Description protected int
blockIncrement
protected BoundedRangeModel
model
The model that represents the scrollbar's minimum, maximum, extent (aka "visibleAmount") and current value.protected int
orientation
protected int
unitIncrement
-
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.Adjustable
HORIZONTAL, NO_ORIENTATION, VERTICAL
-
-
Constructor Summary
Constructors Constructor and Description JScrollBar()
Creates a vertical scrollbar with the following initial values:JScrollBar(int orientation)
Creates a scrollbar with the specified orientation and the following initial values:JScrollBar(int orientation, int value, int extent, int min, int max)
Creates a scrollbar with the specified orientation, value, extent, minimum, and maximum.
-
Method Summary
Methods Modifier and Type Method and Description void
addAdjustmentListener(AdjustmentListener l)
Adds an AdjustmentListener.protected void
fireAdjustmentValueChanged(int id, int type, int value)
Notify listeners that the scrollbar's model has changed.AccessibleContext
getAccessibleContext()
Gets the AccessibleContext associated with this JScrollBar.AdjustmentListener[]
getAdjustmentListeners()
Returns an array of all theAdjustmentListener
s added to this JScrollBar with addAdjustmentListener().int
getBlockIncrement()
For backwards compatibility with java.awt.Scrollbar.int
getBlockIncrement(int direction)
Returns the amount to change the scrollbar's value by, given a block (usually "page") up/down request.int
getMaximum()
The maximum value of the scrollbar is maximum - extent.Dimension
getMaximumSize()
The scrollbar is flexible along it's scrolling axis and rigid along the other axis.int
getMinimum()
Returns the minimum value supported by the scrollbar (usually zero).Dimension
getMinimumSize()
The scrollbar is flexible along it's scrolling axis and rigid along the other axis.BoundedRangeModel
getModel()
Returns data model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.int
getOrientation()
Returns the component's orientation (horizontal or vertical).ScrollBarUI
getUI()
Returns the delegate that implements the look and feel for this component.String
getUIClassID()
Returns the name of the LookAndFeel class for this component.int
getUnitIncrement()
For backwards compatibility with java.awt.Scrollbar.int
getUnitIncrement(int direction)
Returns the amount to change the scrollbar's value by, given a unit up/down request.int
getValue()
Returns the scrollbar's value.boolean
getValueIsAdjusting()
True if the scrollbar knob is being dragged.int
getVisibleAmount()
Returns the scrollbar's extent, aka its "visibleAmount".protected String
paramString()
Returns a string representation of this JScrollBar.void
removeAdjustmentListener(AdjustmentListener l)
Removes an AdjustmentEvent listener.void
setBlockIncrement(int blockIncrement)
Sets the blockIncrement property.void
setEnabled(boolean x)
Enables the component so that the knob position can be changed.void
setMaximum(int maximum)
Sets the model's maximum property.void
setMinimum(int minimum)
Sets the model's minimum property.void
setModel(BoundedRangeModel newModel)
Sets the model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.void
setOrientation(int orientation)
Set the scrollbar's orientation to either VERTICAL or HORIZONTAL.void
setUI(ScrollBarUI ui)
Sets the L&F object that renders this component.void
setUnitIncrement(int unitIncrement)
Sets the unitIncrement property.void
setValue(int value)
Sets the scrollbar's value.void
setValueIsAdjusting(boolean b)
Sets the model's valueIsAdjusting property.void
setValues(int newValue, int newExtent, int newMin, int newMax)
Sets the four BoundedRangeModel properties after forcing the arguments to obey the usual constraints:void
setVisibleAmount(int extent)
Set the model's extent property.void
updateUI()
OverridesJComponent.updateUI
.-
Methods 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, 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, paintComponent, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods 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, validateTree
-
Methods 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
model
protected BoundedRangeModel model
The model that represents the scrollbar's minimum, maximum, extent (aka "visibleAmount") and current value.
-
orientation
protected int orientation
- See Also:
setOrientation(int)
-
unitIncrement
protected int unitIncrement
- See Also:
setUnitIncrement(int)
-
blockIncrement
protected int blockIncrement
- See Also:
setBlockIncrement(int)
-
-
Constructor Detail
-
JScrollBar
public JScrollBar(int orientation, int value, int extent, int min, int max)
Creates a scrollbar with the specified orientation, value, extent, minimum, and maximum. The "extent" is the size of the viewable area. It is also known as the "visible amount".Note: Use
setBlockIncrement
to set the block increment to a size slightly smaller than the view's extent. That way, when the user jumps the knob to an adjacent position, one or two lines of the original contents remain in view.- Throws:
IllegalArgumentException
- if orientation is not one of VERTICAL, HORIZONTAL- See Also:
setOrientation(int)
,setValue(int)
,setVisibleAmount(int)
,setMinimum(int)
,setMaximum(int)
-
JScrollBar
public JScrollBar(int orientation)
Creates a scrollbar with the specified orientation and the following initial values:minimum = 0 maximum = 100 value = 0 extent = 10
-
JScrollBar
public JScrollBar()
Creates a vertical scrollbar with the following initial values:minimum = 0 maximum = 100 value = 0 extent = 10
-
-
Method Detail
-
setUI
public void setUI(ScrollBarUI ui)
Sets the L&F object that renders this component.- Parameters:
ui
- theScrollBarUI
L&F object- Since:
- 1.4
- See Also:
UIDefaults.getUI(javax.swing.JComponent)
-
getUI
public ScrollBarUI getUI()
Returns the delegate that implements the look and feel for this component.
-
updateUI
public void updateUI()
OverridesJComponent.updateUI
.- Overrides:
updateUI
in classJComponent
- See Also:
JComponent.updateUI()
-
getUIClassID
public String getUIClassID()
Returns the name of the LookAndFeel class for this component.- Overrides:
getUIClassID
in classJComponent
- Returns:
- "ScrollBarUI"
- See Also:
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
getOrientation
public int getOrientation()
Returns the component's orientation (horizontal or vertical).- Specified by:
getOrientation
in interfaceAdjustable
- Returns:
- VERTICAL or HORIZONTAL
- See Also:
setOrientation(int)
,Adjustable.getOrientation()
-
setOrientation
public void setOrientation(int orientation)
Set the scrollbar's orientation to either VERTICAL or HORIZONTAL.- Throws:
IllegalArgumentException
- if orientation is not one of VERTICAL, HORIZONTAL- See Also:
getOrientation()
-
getModel
public BoundedRangeModel getModel()
Returns data model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
-
setModel
public void setModel(BoundedRangeModel newModel)
Sets the model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.- See Also:
getModel()
-
getUnitIncrement
public int getUnitIncrement(int direction)
Returns the amount to change the scrollbar's value by, given a unit up/down request. A ScrollBarUI implementation typically calls this method when the user clicks on a scrollbar up/down arrow and uses the result to update the scrollbar's value. Subclasses my override this method to compute a value, e.g. the change required to scroll up or down one (variable height) line text or one row in a table.The JScrollPane component creates scrollbars (by default) that override this method and delegate to the viewports Scrollable view, if it has one. The Scrollable interface provides a more specialized version of this method.
- Parameters:
direction
- is -1 or 1 for up/down respectively- Returns:
- the value of the unitIncrement property
- See Also:
setUnitIncrement(int)
,setValue(int)
,Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
-
setUnitIncrement
public void setUnitIncrement(int unitIncrement)
Sets the unitIncrement property.Note, that if the argument is equal to the value of Integer.MIN_VALUE, the most look and feels will not provide the scrolling to the right/down.
- Specified by:
setUnitIncrement
in interfaceAdjustable
- Parameters:
unitIncrement
- the unit increment- See Also:
getUnitIncrement(int)
-
getBlockIncrement
public int getBlockIncrement(int direction)
Returns the amount to change the scrollbar's value by, given a block (usually "page") up/down request. A ScrollBarUI implementation typically calls this method when the user clicks above or below the scrollbar "knob" to change the value up or down by large amount. Subclasses my override this method to compute a value, e.g. the change required to scroll up or down one paragraph in a text document.The JScrollPane component creates scrollbars (by default) that override this method and delegate to the viewports Scrollable view, if it has one. The Scrollable interface provides a more specialized version of this method.
- Parameters:
direction
- is -1 or 1 for up/down respectively- Returns:
- the value of the blockIncrement property
- See Also:
setBlockIncrement(int)
,setValue(int)
,Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
-
setBlockIncrement
public void setBlockIncrement(int blockIncrement)
Sets the blockIncrement property.Note, that if the argument is equal to the value of Integer.MIN_VALUE, the most look and feels will not provide the scrolling to the right/down.
- Specified by:
setBlockIncrement
in interfaceAdjustable
- Parameters:
blockIncrement
- the block increment- See Also:
getBlockIncrement()
-
getUnitIncrement
public int getUnitIncrement()
For backwards compatibility with java.awt.Scrollbar.- Specified by:
getUnitIncrement
in interfaceAdjustable
- Returns:
- the unit value increment for the adjustable object
- See Also:
Adjustable.getUnitIncrement()
,getUnitIncrement(int)
-
getBlockIncrement
public int getBlockIncrement()
For backwards compatibility with java.awt.Scrollbar.- Specified by:
getBlockIncrement
in interfaceAdjustable
- Returns:
- the block value increment for the adjustable object
- See Also:
Adjustable.getBlockIncrement()
,getBlockIncrement(int)
-
getValue
public int getValue()
Returns the scrollbar's value.- Specified by:
getValue
in interfaceAdjustable
- Returns:
- the model's value property
- See Also:
setValue(int)
-
setValue
public void setValue(int value)
Sets the scrollbar's value. This method just forwards the value to the model.- Specified by:
setValue
in interfaceAdjustable
- Parameters:
value
- the current value, betweenminimum
andmaximum
-visibleAmount
- See Also:
getValue()
,BoundedRangeModel.setValue(int)
-
getVisibleAmount
public int getVisibleAmount()
Returns the scrollbar's extent, aka its "visibleAmount". In many scrollbar look and feel implementations the size of the scrollbar "knob" or "thumb" is proportional to the extent.- Specified by:
getVisibleAmount
in interfaceAdjustable
- Returns:
- the value of the model's extent property
- See Also:
setVisibleAmount(int)
-
setVisibleAmount
public void setVisibleAmount(int extent)
Set the model's extent property.- Specified by:
setVisibleAmount
in interfaceAdjustable
- Parameters:
extent
- the length of the indicator- See Also:
getVisibleAmount()
,BoundedRangeModel.setExtent(int)
-
getMinimum
public int getMinimum()
Returns the minimum value supported by the scrollbar (usually zero).- Specified by:
getMinimum
in interfaceAdjustable
- Returns:
- the value of the model's minimum property
- See Also:
setMinimum(int)
-
setMinimum
public void setMinimum(int minimum)
Sets the model's minimum property.- Specified by:
setMinimum
in interfaceAdjustable
- Parameters:
minimum
- the minimum value- See Also:
getMinimum()
,BoundedRangeModel.setMinimum(int)
-
getMaximum
public int getMaximum()
The maximum value of the scrollbar is maximum - extent.- Specified by:
getMaximum
in interfaceAdjustable
- Returns:
- the value of the model's maximum property
- See Also:
setMaximum(int)
-
setMaximum
public void setMaximum(int maximum)
Sets the model's maximum property. Note that the scrollbar's value can only be set to maximum - extent.- Specified by:
setMaximum
in interfaceAdjustable
- Parameters:
maximum
- the maximum value- See Also:
getMaximum()
,BoundedRangeModel.setMaximum(int)
-
getValueIsAdjusting
public boolean getValueIsAdjusting()
True if the scrollbar knob is being dragged.- Returns:
- the value of the model's valueIsAdjusting property
- See Also:
setValueIsAdjusting(boolean)
-
setValueIsAdjusting
public void setValueIsAdjusting(boolean b)
Sets the model's valueIsAdjusting property. Scrollbar look and feel implementations should set this property to true when a knob drag begins, and to false when the drag ends. The scrollbar model will not generate ChangeEvents while valueIsAdjusting is true.
-
setValues
public void setValues(int newValue, int newExtent, int newMin, int newMax)
Sets the four BoundedRangeModel properties after forcing the arguments to obey the usual constraints:minimum <= value <= value+extent <= maximum
-
addAdjustmentListener
public void addAdjustmentListener(AdjustmentListener l)
Adds an AdjustmentListener. Adjustment listeners are notified each time the scrollbar's model changes. Adjustment events are provided for backwards compatibility with java.awt.Scrollbar.Note that the AdjustmentEvents type property will always have a placeholder value of AdjustmentEvent.TRACK because all changes to a BoundedRangeModels value are considered equivalent. To change the value of a BoundedRangeModel one just sets its value property, i.e. model.setValue(123). No information about the origin of the change, e.g. it's a block decrement, is provided. We don't try fabricate the origin of the change here.
- Specified by:
addAdjustmentListener
in interfaceAdjustable
- Parameters:
l
- the AdjustmentLister to add- See Also:
removeAdjustmentListener(java.awt.event.AdjustmentListener)
,BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)
-
removeAdjustmentListener
public void removeAdjustmentListener(AdjustmentListener l)
Removes an AdjustmentEvent listener.- Specified by:
removeAdjustmentListener
in interfaceAdjustable
- Parameters:
l
- the AdjustmentLister to remove- See Also:
addAdjustmentListener(java.awt.event.AdjustmentListener)
-
getAdjustmentListeners
public AdjustmentListener[] getAdjustmentListeners()
Returns an array of all theAdjustmentListener
s added to this JScrollBar with addAdjustmentListener().- Returns:
- all of the
AdjustmentListener
s added or an empty array if no listeners have been added - Since:
- 1.4
-
fireAdjustmentValueChanged
protected void fireAdjustmentValueChanged(int id, int type, int value)
Notify listeners that the scrollbar's model has changed.
-
getMinimumSize
public Dimension getMinimumSize()
The scrollbar is flexible along it's scrolling axis and rigid along the other axis.- Overrides:
getMinimumSize
in classJComponent
- Returns:
- the value of the
minimumSize
property - See Also:
JComponent.setMinimumSize(java.awt.Dimension)
,ComponentUI
-
getMaximumSize
public Dimension getMaximumSize()
The scrollbar is flexible along it's scrolling axis and rigid along the other axis.- Overrides:
getMaximumSize
in classJComponent
- Returns:
- the value of the
maximumSize
property - See Also:
JComponent.setMaximumSize(java.awt.Dimension)
,ComponentUI
-
setEnabled
public void setEnabled(boolean x)
Enables the component so that the knob position can be changed. When the disabled, the knob position cannot be changed.- Overrides:
setEnabled
in classJComponent
- Parameters:
x
- a boolean value, where true enables the component and false disables it- See Also:
Component.isEnabled()
,Component.isLightweight()
-
paramString
protected String paramString()
Returns a string representation of this JScrollBar. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull
.- Overrides:
paramString
in classJComponent
- Returns:
- a string representation of this JScrollBar.
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JScrollBar. For JScrollBar, the AccessibleContext takes the form of an AccessibleJScrollBar. A new AccessibleJScrollBar instance is created if necessary.- Specified by:
getAccessibleContext
in interfaceAccessible
- Overrides:
getAccessibleContext
in classJComponent
- Returns:
- an AccessibleJScrollBar that serves as the AccessibleContext of this JScrollBar
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/swing/jscrollbar.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.