public class GUIScrollBar extends ActivatableGUIElement implements ScrollableListener
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private java.awt.Color |
colorBackground
The background color of the slider.
|
private java.awt.Color |
colorForeground
The foreground color of the slider.
|
private int |
offset
The offset between the mouse and the top border of the slider while
dragging.
|
private boolean |
proportionalSlider
If set, make the slider size reflect the visible area; if unset, display
the slider as a square.
|
private GUIScrollable2 |
scrollable
The target element to scroll.
|
private boolean |
scrolling
Set while dragging is active.
|
private static long |
serialVersionUID
The serial version UID.
|
private int |
sliderPos
The scroll location; it need not be within the scroll range.
|
private int |
sliderSize
The height of the slider.
|
private int |
valueMin
The minimum scroll value.
|
private int |
valueSize
The size of the scroll values.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
GUIScrollBar(TooltipManager tooltipManager,
GUIElementListener elementListener,
java.lang.String name,
boolean proportionalSlider,
GUIScrollable2 scrollable,
java.awt.Color colorBackground,
java.awt.Color colorForeground)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected void |
activeChanged()
Will be called whenever the active state has changed.
|
void |
dispose()
Releases all allocated resources.
|
void |
execute()
Executes the actions associated with this GUI element.
|
java.awt.Dimension |
getMinimumSize() |
java.awt.Dimension |
getPreferredSize() |
private int |
getSliderHeightPixels()
Returns the height of the slider in pixels.
|
private int |
getSliderPos(int yPixels)
Returns the current slider position in slider-coordinates.
|
private int |
getSliderPosPixels(int sh)
Returns the y-coordinate of the slider.
|
void |
mouseDragged(java.awt.event.MouseEvent e)
Will be called when the mouse moves within this component while the
button is pressed.
|
void |
mousePressed(java.awt.event.MouseEvent e)
Will be called when the user has pressed the mouse inside this element.
|
void |
mouseReleased(java.awt.event.MouseEvent e)
Will be called when the user has released the mouse.
|
void |
paintComponent(java.awt.Graphics g) |
private void |
setPosition(int pos)
Sets the position of the slider.
|
void |
setRange(int valueMin,
int valueMax,
int sliderPos,
int sliderSize)
Sets the scroll range.
|
isActive, markInactivePending, setActive, setInactiveIfPending
getName, hasTooltipText, isDefault, isIgnore, mouseClicked, mouseEntered, mouseExited, mouseMoved, setChanged, setChangedListener, setDefault, setIgnore, setTooltipText, setTooltipText, toString
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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, update, updateUI
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
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, getAccessibleContext, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
@NotNull private final java.awt.Color colorBackground
@NotNull private final java.awt.Color colorForeground
private int offset
private final boolean proportionalSlider
@NotNull private final GUIScrollable2 scrollable
private boolean scrolling
private static final long serialVersionUID
private int sliderPos
private int sliderSize
private int valueMin
private int valueSize
public GUIScrollBar(@NotNull TooltipManager tooltipManager, @NotNull GUIElementListener elementListener, @NotNull java.lang.String name, boolean proportionalSlider, @NotNull GUIScrollable2 scrollable, @NotNull java.awt.Color colorBackground, @NotNull java.awt.Color colorForeground)
tooltipManager
- the tooltip manager to updateelementListener
- the element listener to notifyname
- the name of this elementproportionalSlider
- if set, make the slider size reflect the
visible area; if unset, display the slider as a squarescrollable
- the target element to scrollcolorBackground
- the background color of the slidercolorForeground
- the foreground color of the sliderprotected void activeChanged()
activeChanged
in class ActivatableGUIElement
public void dispose()
dispose
in interface GUIElement
dispose
in class AbstractGUIElement
public void execute()
execute
in class ActivatableGUIElement
@Nullable public java.awt.Dimension getMinimumSize()
getMinimumSize
in class javax.swing.JComponent
@Nullable public java.awt.Dimension getPreferredSize()
getPreferredSize
in class javax.swing.JComponent
private int getSliderHeightPixels()
private int getSliderPos(int yPixels)
yPixels
- the y-coordinate within the gui elementprivate int getSliderPosPixels(int sh)
sh
- the height of the slider in pixelspublic void mouseDragged(@NotNull java.awt.event.MouseEvent e)
GUIElement.mouseMoved(MouseEvent)
.
Note: if the mouse leaves this element's bounding box while the mouse
button is still pressed, further mouseDragged
(but no mouseMoved
) events will be generated.
mouseDragged
in interface GUIElement
mouseDragged
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void mousePressed(@NotNull java.awt.event.MouseEvent e)
mousePressed
in interface GUIElement
mousePressed
in class ActivatableGUIElement
e
- the mouse event relative to this elementpublic void mouseReleased(@NotNull java.awt.event.MouseEvent e)
GUIElement.mousePressed(MouseEvent)
has been
delivered before.mouseReleased
in interface GUIElement
mouseReleased
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void paintComponent(@NotNull java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
private void setPosition(int pos)
pos
- the slider positionpublic void setRange(int valueMin, int valueMax, int sliderPos, int sliderSize)
setRange
in interface ScrollableListener
valueMin
- the minimum scroll valuevalueMax
- the maximum scroll valuesliderPos
- the scroll location; it need not within the scroll
rangesliderSize
- the size of the slider itself