Top Description Fields Constructors Methods
org.eclipse.swt.widgets

public Class Slider

extends Control
Class Inheritance
Imports
org.eclipse.swt.*, org.eclipse.swt.events.*, org.eclipse.swt.graphics.*, org.eclipse.swt.internal.gtk.*, org.eclipse.swt.internal.gtk3.*, org.eclipse.swt.internal.gtk4.*

Instances of this class are selectable user interface objects that represent a range of positive, numeric values.

At any given moment, a given slider will have a single 'selection' that is considered to be its value, which is constrained to be within the range of values the slider represents (that is, between its minimum and maximum values).

Typically, sliders will be made up of five areas:

  1. an arrow button for decrementing the value
  2. a page decrement area for decrementing the value by a larger amount
  3. a thumb for modifying the value by mouse dragging
  4. a page increment area for incrementing the value by a larger amount
  5. an arrow button for incrementing the value

Based on their style, sliders are either HORIZONTAL (which have a left facing button for decrementing the value and a right facing button for incrementing it) or VERTICAL (which have an upward facing button for decrementing the value and a downward facing buttons for incrementing it).

On some platforms, the size of the slider's thumb can be varied relative to the magnitude of the range of values it represents (that is, relative to the difference between its maximum and minimum values). Typically, this is used to indicate some proportional value such as the ratio of the visible area of a document to the total amount of space that it would take to display it. SWT supports setting the thumb size even if the underlying platform does not, but in this case the appearance of the slider will not change.

Styles:
HORIZONTAL, VERTICAL
Events:
Selection

Note

Only one of the styles HORIZONTAL and VERTICAL may be specified.

Important Note

This class is not intended to be subclassed.

See Also
ScrollBar, Slider snippets, SWT Example: ControlExample, Sample code and further information

Field Summary

Modifier and TypeField and Description
pack-priv boolean
pack-priv long
rangeHandle

Stores the GtkRange handle of the GtkScrollbar.

pack-priv int
Inherited from org.eclipse.swt.widgets.Control:
accessibleautoScalebackgroundAlphabackgroundImagecachedNoBackgroundcheckScaleFactorcssBackgroundcssForegroundcursorDISABLE_EMOJIdragDetectionQueuedragGesturedrawCountdrawRegionenableWindoweventRegionfirstFixedHandlefixedHandlefontgestureBegingestureEndgestureRotationgestureSwipegestureZoomkeyControllerlabelRelationlastInputlayoutDatamenumouseDownpanGestureparentproviderredrawWindowregionregionHandlerotateGesturetoolTipTextzoomGesture

Constructor Summary

AccessConstructor and Description
public
Slider(Composite
a composite control which will be the parent of the new instance (cannot be null)
parent
,
int
the style of control to construct
style
)

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

Method Summary

Modifier and TypeMethod and Description
public void
addSelectionListener(SelectionListener
the listener which should be notified when the user changes the receiver's value
listener
)

Adds the listener to the collection of listeners who will be notified when the user changes the receiver's value, by sending it one of the messages defined in the SelectionListener interface.

pack-priv static int
checkStyle(int style)

pack-priv Point
computeSizeInPixels(int wHint, int hHint, boolean changed)

Overrides org.eclipse.swt.widgets.Control.computeSizeInPixels.

pack-priv void
pack-priv void
public int

Returns:

the increment
getIncrement
()

Returns the amount that the receiver's value will be modified by when the up/down (or right/left) arrows are pressed.

public int

Returns:

the maximum
getMaximum
()

Returns the maximum value which the receiver will allow.

public int

Returns:

the minimum
getMinimum
()

Returns the minimum value which the receiver will allow.

public int

Returns:

the page increment
getPageIncrement
()

Returns the amount that the receiver's value will be modified by when the page increment/decrement areas are selected.

public int

Returns:

the selection
getSelection
()

Returns the 'selection', which is the receiver's value.

public int

Returns:

the thumb value
getThumb
()

Returns the receiver's thumb value.

pack-priv long
pack-priv boolean
gtk_change_value(long widget, int scroll, double value, long user_data)

Overrides org.eclipse.swt.widgets.Widget.gtk_change_value.

pack-priv long
pack-priv long
pack-priv void
pack-priv void
public void
removeSelectionListener(SelectionListener
the listener which should no longer be notified
listener
)

Removes the listener from the collection of listeners who will be notified when the user changes the receiver's value.

public void
setIncrement(int
the new increment (must be greater than zero)
value
)

Sets the amount that the receiver's value will be modified by when the up/down (or right/left) arrows are pressed to the argument, which must be at least one.

public void
setMaximum(int
the new maximum, which must be greater than the current minimum
value
)

Sets the maximum.

public void
setMinimum(int
the new minimum
value
)

Sets the minimum value.

pack-priv void
public void
setPageIncrement(int
the page increment (must be greater than zero)
value
)

Sets the amount that the receiver's value will be modified by when the page increment/decrement areas are selected to the argument, which must be at least one.

public void
setSelection(int
the new selection (must be zero or greater)
value
)

Sets the 'selection', which is the receiver's value, to the argument which must be greater than or equal to zero.

public void
setThumb(int
the new thumb value, which must be at least one and not larger than the size of the current range
value
)

Sets the thumb value.

public void
setValues(int
the new selection value
selection
,
int
the new minimum value
minimum
,
int
the new maximum value
maximum
,
int
the new thumb value
thumb
,
int
the new increment value
increment
,
int
the new pageIncrement value
pageIncrement
)

Sets the receiver's selection, minimum value, maximum value, thumb, increment and page increment all at once.

Inherited from org.eclipse.swt.widgets.Control:
_getAccessible_getShelladdControlListeneraddDragDetectListeneraddFocusListeneraddGestureListeneraddHelpListeneraddKeyListeneraddMenuDetectListeneraddMouseListeneraddMouseMoveListeneraddMouseTrackListeneraddMouseWheelListeneraddPaintListeneraddRelationaddTouchListeneraddTraverseListeneradjustChildClippingcairoClipRegioncairoCopyRegioncairoDisposeRegioncheckBackgroundcheckBordercheckBufferedcheckMirroredcheckSubwindowcleanupEnableWindowcomputeNativeSizecomputeSizecomputeSizecomputeSizeInPixelscomputeTabGroupcomputeTabListcomputeTabRootcontainedInRegioncreateWidgetdefaultBackgrounddefaultFontdestroyWidgetdragDetectdragDetectdragDetectdragDetectdrawBackgrounddrawGripperdrawWidgetenableWidgetenterExitHandleeventHandleeventSurfaceeventWindowfilterKeyfindBackgroundControlfindMenusfixChildrenfixFocusfixGdkEventTypeValuesfixModalfixParentGdkResourcefixStylefixStyleflushQueueOnDndfocusHandlefontHandleforceFocusforceFocusforceResizegestureBeginProcgestureEndProcgestureHandlegetAccessiblegetBackgroundgetBackgroundGdkRGBAgetBackgroundImagegetBaseGdkRGBAgetBgGdkRGBAgetBorderWidthgetBorderWidthInPixelsgetBoundsgetBoundsInPixelsgetClientWidthgetContextBackgroundGdkRGBAgetContextColorGdkRGBAgetControlgetControlOrigingetCursorgetDragDetectgetEnabledgetFontgetFontDescriptiongetForegroundgetForegroundGdkRGBAgetIMCaretPosgetLayoutDatagetLocationgetLocationInPixelsgetMenugetMonitorgetOrientationgetParentgetPathgetRegiongetShellgetSizegetSizeInPixelsgetSurfaceOrigingetTextDirectiongetThicknessgetToolTipTextgetTouchEnabledgetVisiblegetWindowOrigingtk3_show_helpgtk4_drawgtk4_enter_eventgtk4_focus_enter_eventgtk4_focus_leave_eventgtk4_focus_window_eventgtk4_key_press_eventgtk4_key_release_eventgtk4_leave_eventgtk4_motion_eventgtk4_scroll_eventgtk_button_press_eventgtk_button_release_eventgtk_commitgtk_css_provider_load_from_cssgtk_drawgtk_enter_notify_eventgtk_focusgtk_focus_in_eventgtk_focus_out_eventgtk_gesture_press_eventgtk_gesture_release_eventgtk_key_press_eventgtk_key_release_eventgtk_label_set_aligngtk_leave_notify_eventgtk_mnemonic_activategtk_motion_notify_eventgtk_popup_menugtk_preedit_changedgtk_realizegtk_scroll_eventgtk_style_context_get_bordergtk_style_context_get_paddinggtk_style_updatedgtk_unrealizegtk_widget_reparentgtk_widget_set_alignhasFocushooksPainthoverProcimHandleinternal_dispose_GCinternal_new_GCisActiveisAutoScalableisDescribedByLabelisEnabledisFocusAncestorisFocusControlisFocusHandleisReparentableisShowingisTabGroupisTabItemisVisiblemagnifyProcmarkLayoutmenuShellmnemonicHitmnemonicMatchmoveAbovemoveBelowmoveChildrenmoveHandlemustBeVisibleOnInitBoundspackpackpaintHandlepaintSurfacepaintWindowprintprintWidgetprintWindowredrawredrawredrawredrawChildrenredrawInPixelsredrawWidgetreleasereleaseHandlereleaseParentreleaseWidgetremoveControlListenerremoveDragDetectListenerremoveFocusListenerremoveGestureListenerremoveHelpListenerremoveKeyListenerremoveMenuDetectListenerremoveMouseListenerremoveMouseMoveListenerremoveMouseTrackListenerremoveMouseWheelListenerremovePaintListenerremoveRelationremoveTouchListenerremoveTraverseListenerrequestLayoutresizeCalculationsGTK3resizeHandlerestackWindowrotateProcsendDragEventsendFocusEventsendGestureEventsendGestureEventsendGestureEventsendHelpEventsendLeaveNotifysendMouseEventsendMouseEventsetBackgroundsetBackgroundsetBackgroundGdkRGBAsetBackgroundGdkRGBAsetBackgroundGdkRGBAsetBackgroundImagesetBackgroundSurfacesetBoundssetBoundssetBoundssetBoundsInPixelssetBoundsInPixelssetCapturesetCursorsetCursorsetDragDetectsetEnabledsetFocussetFontsetFontDescriptionsetForegroundsetForegroundGdkRGBAsetForegroundGdkRGBAsetInitialBoundssetLayoutDatasetLocationsetLocationsetLocationInPixelssetLocationInPixelssetMenusetOrientationsetParentsetParentBackgroundsetParentGdkResourcesetRadioSelectionsetRedrawsetRegionsetRelationssetSizesetSizesetSizeInPixelssetSizeInPixelssetTabItemFocussetTextDirectionsetToolTipTextsetToolTipTextsetTouchEnabledsetVisiblesetWidgetBackgroundsetZOrdersetZOrdershowMenushowMenushowWidgetsortswipeProctoControltoControltoDisplaytoDisplaytoDisplayInPixelstoDisplayInPixelstopHandletranslateMnemonictranslateMnemonictranslateTraversaltraversalCodetraversetraversetraversetraversetraversetraverseEscapetraverseGrouptraverseItemtraverseMnemonictraversePagetraverseReturnupdateupdateupdateBackgroundModeupdateLayoutwantDragDropDetectionwindowProc

Field Detail

dragSentback to summary
pack-priv boolean dragSent
rangeHandleback to summary
pack-priv long rangeHandle

Stores the GtkRange handle of the GtkScrollbar. Used to hook events and access the GtkAdjustment.

scrollTypeback to summary
pack-priv int scrollType

Constructor Detail

Sliderback to summary
public Slider(Composite parent, int style)

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters
parent:Composite

a composite control which will be the parent of the new instance (cannot be null)

style:int

the style of control to construct

Exceptions
IllegalArgumentException:
  • ERROR_NULL_ARGUMENT - if the parent is null
SWTException:
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also
SWT#HORIZONTAL, SWT#VERTICAL, Widget#checkSubclass, Widget#getStyle

Method Detail

addSelectionListenerback to summary
public void addSelectionListener(SelectionListener listener)

Adds the listener to the collection of listeners who will be notified when the user changes the receiver's value, by sending it one of the messages defined in the SelectionListener interface.

When widgetSelected is called, the event object detail field contains one of the following values: SWT.NONE - for the end of a drag. SWT.DRAG. SWT.HOME. SWT.END. SWT.ARROW_DOWN. SWT.ARROW_UP. SWT.PAGE_DOWN. SWT.PAGE_UP. widgetDefaultSelected is not called.

Parameters
listener:SelectionListener

the listener which should be notified when the user changes the receiver's value

Exceptions
IllegalArgumentException:
  • ERROR_NULL_ARGUMENT - if the listener is null
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also
SelectionListener, removeSelectionListener, SelectionEvent
checkStyleback to summary
pack-priv static int checkStyle(int style)
computeSizeInPixelsback to summary
pack-priv Point computeSizeInPixels(int wHint, int hHint, boolean changed)

Overrides org.eclipse.swt.widgets.Control.computeSizeInPixels.

Annotations
@Override
createHandleback to summary
pack-priv void createHandle(int index)

Overrides org.eclipse.swt.widgets.Widget.createHandle.

Annotations
@Override
deregisterback to summary
pack-priv void deregister()

Overrides org.eclipse.swt.widgets.Control.deregister.

Annotations
@Override
getIncrementback to summary
public int getIncrement()

Returns the amount that the receiver's value will be modified by when the up/down (or right/left) arrows are pressed.

Returns:int

the increment

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
getMaximumback to summary
public int getMaximum()

Returns the maximum value which the receiver will allow.

Returns:int

the maximum

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
getMinimumback to summary
public int getMinimum()

Returns the minimum value which the receiver will allow.

Returns:int

the minimum

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
getPageIncrementback to summary
public int getPageIncrement()

Returns the amount that the receiver's value will be modified by when the page increment/decrement areas are selected.

Returns:int

the page increment

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
getSelectionback to summary
public int getSelection()

Returns the 'selection', which is the receiver's value.

Returns:int

the selection

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
getThumbback to summary
public int getThumb()

Returns the receiver's thumb value.

Returns:int

the thumb value

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
gtk_button_press_eventback to summary
pack-priv long gtk_button_press_event(long widget, long eventPtr)

Overrides org.eclipse.swt.widgets.Control.gtk_button_press_event.

Annotations
@Override
gtk_change_valueback to summary
pack-priv boolean gtk_change_value(long widget, int scroll, double value, long user_data)

Overrides org.eclipse.swt.widgets.Widget.gtk_change_value.

Annotations
@Override
gtk_event_afterback to summary
pack-priv long gtk_event_after(long widget, long gdkEvent)

Overrides org.eclipse.swt.widgets.Control.gtk_event_after.

Annotations
@Override
gtk_value_changedback to summary
pack-priv long gtk_value_changed(long range)

Overrides org.eclipse.swt.widgets.Widget.gtk_value_changed.

Annotations
@Override
hookEventsback to summary
pack-priv void hookEvents()

Overrides org.eclipse.swt.widgets.Control.hookEvents.

Annotations
@Override
registerback to summary
pack-priv void register()

Overrides org.eclipse.swt.widgets.Control.register.

Annotations
@Override
removeSelectionListenerback to summary
public void removeSelectionListener(SelectionListener listener)

Removes the listener from the collection of listeners who will be notified when the user changes the receiver's value.

Parameters
listener:SelectionListener

the listener which should no longer be notified

Exceptions
IllegalArgumentException:
  • ERROR_NULL_ARGUMENT - if the listener is null
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also
SelectionListener, addSelectionListener
setIncrementback to summary
public void setIncrement(int value)

Sets the amount that the receiver's value will be modified by when the up/down (or right/left) arrows are pressed to the argument, which must be at least one.

Parameters
value:int

the new increment (must be greater than zero)

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
setMaximumback to summary
public void setMaximum(int value)

Sets the maximum. If this value is negative or less than or equal to the minimum, the value is ignored. If necessary, first the thumb and then the selection are adjusted to fit within the new range.

Parameters
value:int

the new maximum, which must be greater than the current minimum

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
setMinimumback to summary
public void setMinimum(int value)

Sets the minimum value. If this value is negative or greater than or equal to the maximum, the value is ignored. If necessary, first the thumb and then the selection are adjusted to fit within the new range.

Parameters
value:int

the new minimum

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
setOrientationback to summary
pack-priv void setOrientation(boolean create)

Overrides org.eclipse.swt.widgets.Control.setOrientation.

Annotations
@Override
setPageIncrementback to summary
public void setPageIncrement(int value)

Sets the amount that the receiver's value will be modified by when the page increment/decrement areas are selected to the argument, which must be at least one.

Parameters
value:int

the page increment (must be greater than zero)

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
setSelectionback to summary
public void setSelection(int value)

Sets the 'selection', which is the receiver's value, to the argument which must be greater than or equal to zero.

Parameters
value:int

the new selection (must be zero or greater)

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
setThumbback to summary
public void setThumb(int value)

Sets the thumb value. The thumb value should be used to represent the size of the visual portion of the current range. This value is usually the same as the page increment value.

This new value will be ignored if it is less than one, and will be clamped if it exceeds the receiver's current range.

Parameters
value:int

the new thumb value, which must be at least one and not larger than the size of the current range

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
setValuesback to summary
public void setValues(int selection, int minimum, int maximum, int thumb, int increment, int pageIncrement)

Sets the receiver's selection, minimum value, maximum value, thumb, increment and page increment all at once.

Note

This is similar to setting the values individually using the appropriate methods, but may be implemented in a more efficient fashion on some platforms.

Parameters
selection:int

the new selection value

minimum:int

the new minimum value

maximum:int

the new maximum value

thumb:int

the new thumb value

increment:int

the new increment value

pageIncrement:int

the new pageIncrement value

Exceptions
SWTException:
  • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver