Class Display
- java.lang.Object
-
- org.eclipse.swt.graphics.Device
-
- org.eclipse.swt.widgets.Display
-
public class Display extends Device implements Adaptable
Instances of this class are responsible for managing the connection between SWT and the underlying operating system. Their most important function is to implement the SWT event loop in terms of the platform event model. They also provide various methods for accessing information about the operating system, and have overall control over the operating system resources which SWT allocates.Applications which are built with SWT will almost always require only a single display. In particular, some platforms which SWT supports will not allow more than one active display. In other words, some platforms do not support creating a new display if one already exists that has not been sent the
dispose()
message.In SWT, the thread which creates a
The user-interface thread for a particular display has the following special attributes:Display
instance is distinguished as the user-interface thread for that display.- The event loop for that display must be run from the thread.
-
Some SWT API methods (notably, most of the public methods in
Widget
and its subclasses), may only be called from the thread. (To support multi-threaded user-interface applications, classDisplay
provides inter-thread communication methods which allow threads other than the user-interface thread to request that it perform operations on their behalf.) -
The thread is not allowed to construct other
Display
s until that display has been disposed. (Note that, this is in addition to the restriction mentioned above concerning platform support for multiple displays. Thus, the only way to have multiple simultaneously active displays, even on platforms which support it, is to have multiple threads.)
All SWT API methods which may only be called from the user-interface thread are distinguished in their documentation by indicating that they throw the "
ERROR_THREAD_INVALID_ACCESS
" SWT exception.- Styles:
- (none)
- Events:
- Close, Dispose, Skin
IMPORTANT: This class is not intended to be subclassed.
- Since:
- 1.0
- See Also:
syncExec(java.lang.Runnable)
,asyncExec(java.lang.Runnable)
,wake()
,readAndDispatch()
,sleep()
,Device.dispose()
-
-
Field Summary
-
Fields inherited from class org.eclipse.swt.graphics.Device
deviceLock
-
-
Constructor Summary
Constructors Constructor Description Display()
Constructs a new instance of this class.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFilter(int eventType, Listener listener)
Adds the listener to the collection of listeners who will be notified when an event of the given type occurs anywhere in a widget.void
addListener(int eventType, Listener listener)
Adds the listener to the collection of listeners who will be notified when an event of the given type occurs.void
asyncExec(java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity.void
beep()
Causes the system hardware to emit a short sound (if it supports this capability).protected void
checkDevice()
Throws anSWTException
if the receiver can not be accessed by the caller.void
close()
Requests that the connection between SWT and the underlying operating system be closed.protected void
destroy()
Destroys the device .void
disposeExec(java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread just before the receiver is disposed.static Display
findDisplay(java.lang.Thread thread)
Returns the display which the given thread is the user-interface thread for, or null if the given thread is not a user-interface thread for any display.Shell
getActiveShell()
Returns the currently activeShell
, or null if no shell belonging to the currently running application is active.<T> T
getAdapter(java.lang.Class<T> adapter)
Returns an object which is an instance of the given class parameter associated with this object ornull
if no association exists.static java.lang.String
getAppName()
Returns the application name.static java.lang.String
getAppVersion()
Returns the application version.Rectangle
getBounds()
Returns a rectangle describing the receiver's size and location.static Display
getCurrent()
Returns the display which the currently running thread is the user-interface thread for, or null if the currently running thread is not a user-interface thread for any display.Control
getCursorControl()
Returns the control which the on-screen pointer is currently over top of, or null if it is not currently over one of the controls built by the currently running application.Point
getCursorLocation()
Returns the location of the on-screen pointer relative to the top left corner of the screen.java.lang.Object
getData()
Returns the application defined, display specific data associated with the receiver, or null if it has not been set.java.lang.Object
getData(java.lang.String key)
Returns the application defined property of the receiver with the specified name, or null if it has not been set.static Display
getDefault()
Returns the default display.int
getDepth()
Returns the bit depth of the screen, which is the number of bits it takes to represent the number of unique colors that the screen is currently capable of displaying.int
getDismissalAlignment()
Returns the button dismissal alignment, one ofLEFT
orRIGHT
.int
getDoubleClickTime()
Returns the longest duration, in milliseconds, between two mouse button clicks that will be considered a double click .Point
getDPI()
Returns a point whose x coordinate is the horizontal dots per inch of the display, and whose y coordinate is the vertical dots per inch of the display.Control
getFocusControl()
Returns the control which currently has keyboard focus, or null if keyboard events are not currently going to any of the controls built by the currently running application.boolean
getHighContrast()
Returns true when the high contrast mode is enabled.Menu
getMenuBar()
Returns the single instance of the application menu bar or null when there is no application menu bar for the platform.Monitor[]
getMonitors()
Returns an array of monitors attached to the device.Monitor
getPrimaryMonitor()
Returns the primary monitor for that device.Shell[]
getShells()
Returns a (possibly empty) array containing all shells which have not been disposed and have the receiver as their display.Synchronizer
getSynchronizer()
Gets the synchronizer used by the display.java.lang.Thread
getSyncThread()
Returns the thread that has invokedsyncExec
or null if no such runnable is currently being invoked by the user-interface thread.Color
getSystemColor(int id)
Returns the matching standard color for the given constant, which should be one of the color constants specified in classSWT
.Cursor
getSystemCursor(int id)
Returns the matching standard platform cursor for the given constant, which should be one of the cursor constants specified in classSWT
.Image
getSystemImage(int id)
Returns the matching standard platform image for the given constant, which should be one of the icon constants specified in classSWT
.Menu
getSystemMenu()
Returns the single instance of the system-provided menu for the application.TaskBar
getSystemTaskBar()
Returns the single instance of the system taskBar or null when there is no system taskBar available for the platform.Tray
getSystemTray()
Returns the single instance of the system tray or null when there is no system tray available for the platform.java.lang.Thread
getThread()
Returns the user-interface thread for the receiver.boolean
getTouchEnabled()
Returns true if a touch-aware input device is attached to the system, enabled, and ready for use.Point
map(Control from, Control to, int x, int y)
Maps a point from one coordinate system to another.Rectangle
map(Control from, Control to, int x, int y, int width, int height)
Maps a point from one coordinate system to another.Point
map(Control from, Control to, Point point)
Maps a point from one coordinate system to another.Rectangle
map(Control from, Control to, Rectangle rectangle)
Maps a point from one coordinate system to another.boolean
readAndDispatch()
Reads an event from the event queue, dispatches it appropriately, and returnstrue
if there is potentially more work to do, orfalse
if the caller can sleep until another event is placed on the event queue.protected void
release()
Releases any internal resources .void
removeFilter(int eventType, Listener listener)
Removes the listener from the collection of listeners who will be notified when an event of the given type occurs anywhere in a widget.void
removeListener(int eventType, Listener listener)
Removes the listener from the collection of listeners who will be notified when an event of the given type occurs.static void
setAppName(java.lang.String name)
Sets the application name to the argument.static void
setAppVersion(java.lang.String version)
Sets the application version to the argument.void
setData(java.lang.Object data)
Sets the application defined, display specific data associated with the receiver, to the argument.void
setData(java.lang.String key, java.lang.Object value)
Sets the application defined property of the receiver with the specified name to the given argument.void
setSynchronizer(Synchronizer synchronizer)
Sets the synchronizer used by the display to be the argument, which can not be null.boolean
sleep()
Causes the user-interface thread to sleep (that is, to be put in a state where it does not consume CPU cycles) until an event is received or it is otherwise awakened.void
syncExec(java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity.void
timerExec(int milliseconds, java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread after the specified number of milliseconds have elapsed.void
update()
Forces all outstanding paint requests for the display to be processed before this method returns.void
wake()
Notifies the client to send a request in order to wake up a sleeping UI thread and to perform pending UI updates.protected void
wakeThread()
-
Methods inherited from class org.eclipse.swt.graphics.Device
dispose, getClientArea, getFontList, getSystemFont, isDisposed
-
-
-
-
Constructor Detail
-
Display
public Display()
Constructs a new instance of this class.Note: The resulting display is marked as the current display. If this is the first display which has been constructed since the application started, it is also marked as the default display.
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if called from a thread that already created an existing display
- ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
- See Also:
getCurrent()
,getDefault()
,Widget.checkSubclass()
,Shell
-
-
Method Detail
-
getCurrent
public static Display getCurrent()
Returns the display which the currently running thread is the user-interface thread for, or null if the currently running thread is not a user-interface thread for any display.- Returns:
- the current display
-
getDefault
public static Display getDefault()
Returns the default display. One is created if it did not already exist.Note: In RWT, a new display is only created if the calling thread is the user-interface thread.
- Returns:
- the default display
-
getBounds
public Rectangle getBounds()
Returns a rectangle describing the receiver's size and location.- Overrides:
getBounds
in classDevice
- Returns:
- the bounding rectangle
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
getDPI
public Point getDPI()
Description copied from class:Device
Returns a point whose x coordinate is the horizontal dots per inch of the display, and whose y coordinate is the vertical dots per inch of the display.
-
getDepth
public int getDepth()
Description copied from class:Device
Returns the bit depth of the screen, which is the number of bits it takes to represent the number of unique colors that the screen is currently capable of displaying. This number will typically be one of 1, 8, 15, 16, 24 or 32.
-
getFocusControl
public Control getFocusControl()
Returns the control which currently has keyboard focus, or null if keyboard events are not currently going to any of the controls built by the currently running application.- Returns:
- the control under the cursor
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
map
public Point map(Control from, Control to, Point point)
Maps a point from one coordinate system to another. When the control is null, coordinates are mapped to the display.NOTE: On right-to-left platforms where the coordinate systems are mirrored, special care needs to be taken when mapping coordinates from one control to another to ensure the result is correctly mirrored. Mapping a point that is the origin of a rectangle and then adding the width and height is not equivalent to mapping the rectangle. When one control is mirrored and the other is not, adding the width and height to a point that was mapped causes the rectangle to extend in the wrong direction. Mapping the entire rectangle instead of just one point causes both the origin and the corner of the rectangle to be mapped.
- Parameters:
from
- the sourceControl
ornull
to
- the destinationControl
ornull
point
- to be mapped- Returns:
- point with mapped coordinates
- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the point is null
- ERROR_INVALID_ARGUMENT - if the Control from or the Control to have been disposed
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
map
public Point map(Control from, Control to, int x, int y)
Maps a point from one coordinate system to another. When the control is null, coordinates are mapped to the display.NOTE: On right-to-left platforms where the coordinate systems are mirrored, special care needs to be taken when mapping coordinates from one control to another to ensure the result is correctly mirrored. Mapping a point that is the origin of a rectangle and then adding the width and height is not equivalent to mapping the rectangle. When one control is mirrored and the other is not, adding the width and height to a point that was mapped causes the rectangle to extend in the wrong direction. Mapping the entire rectangle instead of just one point causes both the origin and the corner of the rectangle to be mapped.
- Parameters:
from
- the sourceControl
ornull
to
- the destinationControl
ornull
x
- coordinates to be mappedy
- coordinates to be mapped- Returns:
- point with mapped coordinates
- Throws:
java.lang.IllegalArgumentException
-- ERROR_INVALID_ARGUMENT - if the Control from or the Control to have been disposed
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
map
public Rectangle map(Control from, Control to, Rectangle rectangle)
Maps a point from one coordinate system to another. When the control is null, coordinates are mapped to the display.NOTE: On right-to-left platforms where the coordinate systems are mirrored, special care needs to be taken when mapping coordinates from one control to another to ensure the result is correctly mirrored. Mapping a point that is the origin of a rectangle and then adding the width and height is not equivalent to mapping the rectangle. When one control is mirrored and the other is not, adding the width and height to a point that was mapped causes the rectangle to extend in the wrong direction. Mapping the entire rectangle instead of just one point causes both the origin and the corner of the rectangle to be mapped.
- Parameters:
from
- the sourceControl
ornull
to
- the destinationControl
ornull
rectangle
- to be mapped- Returns:
- rectangle with mapped coordinates
- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the rectangle is null
- ERROR_INVALID_ARGUMENT - if the Control from or the Control to have been disposed
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
map
public Rectangle map(Control from, Control to, int x, int y, int width, int height)
Maps a point from one coordinate system to another. When the control is null, coordinates are mapped to the display.NOTE: On right-to-left platforms where the coordinate systems are mirrored, special care needs to be taken when mapping coordinates from one control to another to ensure the result is correctly mirrored. Mapping a point that is the origin of a rectangle and then adding the width and height is not equivalent to mapping the rectangle. When one control is mirrored and the other is not, adding the width and height to a point that was mapped causes the rectangle to extend in the wrong direction. Mapping the entire rectangle instead of just one point causes both the origin and the corner of the rectangle to be mapped.
- Parameters:
from
- the sourceControl
ornull
to
- the destinationControl
ornull
x
- coordinates to be mappedy
- coordinates to be mappedwidth
- coordinates to be mappedheight
- coordinates to be mapped- Returns:
- rectangle with mapped coordinates
- Throws:
java.lang.IllegalArgumentException
-- ERROR_INVALID_ARGUMENT - if the Control from or the Control to have been disposed
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
addListener
public void addListener(int eventType, Listener listener)
Adds the listener to the collection of listeners who will be notified when an event of the given type occurs. The event type is one of the event constants defined in classSWT
. When the event does occur in the display, the listener is notified by sending it thehandleEvent()
message.- Parameters:
eventType
- the type of event to listen forlistener
- the listener which should be notified when the event occurs- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
- See Also:
Listener
,SWT
,removeListener(int, org.eclipse.swt.widgets.Listener)
-
removeListener
public void removeListener(int eventType, Listener listener)
Removes the listener from the collection of listeners who will be notified when an event of the given type occurs. The event type is one of the event constants defined in classSWT
.- Parameters:
eventType
- the type of event to listen forlistener
- the listener which should no longer be notified- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
- See Also:
Listener
,SWT
,addListener(int, org.eclipse.swt.widgets.Listener)
-
disposeExec
public void disposeExec(java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread just before the receiver is disposed. Specifying anull
runnable is ignored.- Parameters:
runnable
- code to run at dispose time.- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
close
public void close()
Requests that the connection between SWT and the underlying operating system be closed.- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
- See Also:
Device.dispose()
-
release
protected void release()
Description copied from class:Device
Releases any internal resources .When a device is destroyed, resources that were acquired on behalf of the programmer need to be returned to the operating system. For example, if the device allocated a font to be used as the system font, this font would be freed in
This method is called beforerelease
. Also,to assist the garbage collector and minimize the amount of memory that is not reclaimed when the programmer keeps a reference to a disposed device, all fields except the handle are zero'd. The handle is needed bydestroy
.destroy
.If subclasses reimplement this method, they must call the
super
implementation.- Overrides:
release
in classDevice
- See Also:
Device.dispose()
,Device.destroy()
-
destroy
protected void destroy()
Description copied from class:Device
Destroys the device . If the device does not have a handle, this method may do nothing depending on the device.This method is called after
release
.Subclasses are supposed to reimplement this method and not call the
super
implementation.- Overrides:
destroy
in classDevice
- See Also:
Device.dispose()
,Device.release()
-
getAdapter
public <T> T getAdapter(java.lang.Class<T> adapter)
Description copied from interface:Adaptable
Returns an object which is an instance of the given class parameter associated with this object or
null
if no association exists.- Specified by:
getAdapter
in interfaceAdaptable
- Parameters:
adapter
- the lookup class- Returns:
- an object that can be cast to the given class or
null
if there is no adapter associated with the given class.
-
getShells
public Shell[] getShells()
Returns a (possibly empty) array containing all shells which have not been disposed and have the receiver as their display.- Returns:
- the receiver's shells
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
getActiveShell
public Shell getActiveShell()
Returns the currently activeShell
, or null if no shell belonging to the currently running application is active.- Returns:
- the active shell or null
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
getThread
public java.lang.Thread getThread()
Returns the user-interface thread for the receiver. Note that the user-interface thread may change per user-request.- Returns:
- the receiver's user-interface thread or null if there's no current user-request executed that belongs to the display.
- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
findDisplay
public static Display findDisplay(java.lang.Thread thread)
Returns the display which the given thread is the user-interface thread for, or null if the given thread is not a user-interface thread for any display. Specifyingnull
as the thread will returnnull
for the display.- Parameters:
thread
- the user-interface thread- Returns:
- the display for the given thread
-
setSynchronizer
public void setSynchronizer(Synchronizer synchronizer)
Sets the synchronizer used by the display to be the argument, which can not be null.- Parameters:
synchronizer
- the new synchronizer for the display (must not be null)- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the synchronizer is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- ERROR_FAILED_EXEC - if an exception occurred while running an inter-thread message
- Since:
- 1.3
-
getSynchronizer
public Synchronizer getSynchronizer()
Gets the synchronizer used by the display.- Returns:
- the receiver's synchronizer
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
getSyncThread
public java.lang.Thread getSyncThread()
Returns the thread that has invokedsyncExec
or null if no such runnable is currently being invoked by the user-interface thread.Note: If a runnable invoked by asyncExec is currently running, this method will return null.
- Returns:
- the receiver's sync-interface thread
- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
asyncExec
public void asyncExec(java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity. Note that the user-interface thread may change per user-request. The caller of this method continues to run in parallel, and is not notified when the runnable has completed. Specifyingnull
as the runnable simply wakes the user-interface thread when run.Note that at the time the runnable is invoked, widgets that have the receiver as their display may have been disposed. Therefore, it is necessary to check for this case inside the runnable before accessing the widget.
- Parameters:
runnable
- code to run on the user-interface thread ornull
- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- See Also:
syncExec(java.lang.Runnable)
-
syncExec
public void syncExec(java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity. Note that the user-interface thread may change per user-request. The thread which calls this method is suspended until the runnable completes. Specifyingnull
as the runnable simply wakes the user-interface thread.Note that at the time the runnable is invoked, widgets that have the receiver as their display may have been disposed. Therefore, it is necessary to check for this case inside the runnable before accessing the widget.
- Parameters:
runnable
- code to run on the user-interface thread ornull
- Throws:
SWTException
-- ERROR_FAILED_EXEC - if an exception occured when executing the runnable
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- See Also:
asyncExec(java.lang.Runnable)
-
timerExec
public void timerExec(int milliseconds, java.lang.Runnable runnable)
Causes therun()
method of the runnable to be invoked by the user-interface thread after the specified number of milliseconds have elapsed. If milliseconds is less than zero, the runnable is not executed.Note that at the time the runnable is invoked, widgets that have the receiver as their display may have been disposed. Therefore, it is necessary to check for this case inside the runnable before accessing the widget.
- Parameters:
milliseconds
- the delay before running the runnablerunnable
- code to run on the user-interface thread- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the runnable is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.2
- See Also:
asyncExec(java.lang.Runnable)
-
readAndDispatch
public boolean readAndDispatch()
Reads an event from the event queue, dispatches it appropriately, and returnstrue
if there is potentially more work to do, orfalse
if the caller can sleep until another event is placed on the event queue.In addition to checking the system event queue, this method also checks if any inter-thread messages (created by
syncExec()
orasyncExec()
) are waiting to be processed, and if so handles them before returning.- Returns:
false
if the caller can sleep upon return from this method- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- ERROR_FAILED_EXEC - if an exception occurred while running an inter-thread message
- Since:
- 1.1
- See Also:
sleep()
,wake()
-
sleep
public boolean sleep()
Causes the user-interface thread to sleep (that is, to be put in a state where it does not consume CPU cycles) until an event is received or it is otherwise awakened.- Returns:
true
if an event requiring dispatching was placed on the queue.- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.1
- See Also:
wake()
-
wake
public void wake()
Notifies the client to send a request in order to wake up a sleeping UI thread and to perform pending UI updates. Note that this method may be called from any thread.Note that this method has no effect unless a
ServerPushSession
is active.- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
-
wakeThread
protected void wakeThread()
-
getSystemTray
public Tray getSystemTray()
Returns the single instance of the system tray or null when there is no system tray available for the platform.- Returns:
- the system tray or
null
- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.4
-
getMenuBar
public Menu getMenuBar()
Returns the single instance of the application menu bar or null when there is no application menu bar for the platform.- Returns:
- the application menu bar or
null
- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.4
-
getSystemTaskBar
public TaskBar getSystemTaskBar()
Returns the single instance of the system taskBar or null when there is no system taskBar available for the platform.- Returns:
- the system taskBar or
null
- Throws:
SWTException
-- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.4
-
getSystemMenu
public Menu getSystemMenu()
Returns the single instance of the system-provided menu for the application. On platforms where no menu is provided for the application this method returns null.- Returns:
- the system menu or
null
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.4
-
getSystemColor
public Color getSystemColor(int id)
Description copied from class:Device
Returns the matching standard color for the given constant, which should be one of the color constants specified in classSWT
. Any value other than one of the SWT color constants which is passed in will result in the color black. This color should not be free'd because it was allocated by the system, not the application.- Overrides:
getSystemColor
in classDevice
- Parameters:
id
- the color constant- Returns:
- the matching color
- See Also:
SWT
-
getSystemImage
public Image getSystemImage(int id)
Returns the matching standard platform image for the given constant, which should be one of the icon constants specified in classSWT
. This image should not be free'd because it was allocated by the system, not the application. A value ofnull
will be returned either if the supplied constant is not an SWT icon constant or if the platform does not define an image that corresponds to the constant.- Parameters:
id
- the SWT icon constant- Returns:
- the corresponding image or
null
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- See Also:
SWT.ICON_ERROR
,SWT.ICON_INFORMATION
,SWT.ICON_QUESTION
,SWT.ICON_WARNING
,SWT.ICON_WORKING
-
getSystemCursor
public Cursor getSystemCursor(int id)
Returns the matching standard platform cursor for the given constant, which should be one of the cursor constants specified in classSWT
. This cursor should not be free'd because it was allocated by the system, not the application. A value ofnull
will be returned if the supplied constant is not an SWT cursor constant.- Parameters:
id
- the SWT cursor constant- Returns:
- the corresponding cursor or
null
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
- See Also:
SWT.CURSOR_ARROW
,SWT.CURSOR_WAIT
,SWT.CURSOR_CROSS
,SWT.CURSOR_HELP
,SWT.CURSOR_SIZEALL
,SWT.CURSOR_SIZENS
,SWT.CURSOR_SIZEWE
,SWT.CURSOR_SIZEN
,SWT.CURSOR_SIZES
,SWT.CURSOR_SIZEE
,SWT.CURSOR_SIZEW
,SWT.CURSOR_SIZENE
,SWT.CURSOR_SIZESE
,SWT.CURSOR_SIZESW
,SWT.CURSOR_SIZENW
,SWT.CURSOR_IBEAM
,SWT.CURSOR_HAND
-
getDoubleClickTime
public int getDoubleClickTime()
Returns the longest duration, in milliseconds, between two mouse button clicks that will be considered a double click .- Returns:
- the double click time
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.2
-
getCursorControl
public Control getCursorControl()
Returns the control which the on-screen pointer is currently over top of, or null if it is not currently over one of the controls built by the currently running application.- Returns:
- the control under the cursor or
null
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
getDismissalAlignment
public int getDismissalAlignment()
Returns the button dismissal alignment, one ofLEFT
orRIGHT
. The button dismissal alignment is the ordering that should be used when positioning the default dismissal button for a dialog. For example, in a dialog that contains an OK and CANCEL button, on platforms where the button dismissal alignment isLEFT
, the button ordering should be OK/CANCEL. When button dismissal alignment isRIGHT
, the button ordering should be CANCEL/OK.- Returns:
- the button dismissal order
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
getHighContrast
public boolean getHighContrast()
Returns true when the high contrast mode is enabled. Otherwise, false is returned.Note: This operation is a hint and is not supported on platforms that do not have this concept.
- Returns:
- the high contrast mode
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
getCursorLocation
public Point getCursorLocation()
Returns the location of the on-screen pointer relative to the top left corner of the screen.- Returns:
- the cursor location
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
addFilter
public void addFilter(int eventType, Listener listener)
Adds the listener to the collection of listeners who will be notified when an event of the given type occurs anywhere in a widget. The event type is one of the event constants defined in classSWT
. When the event does occur, the listener is notified by sending it thehandleEvent()
message.Setting the type of an event to
SWT.None
from within thehandleEvent()
method can be used to change the event type and stop subsequent Java listeners from running. Because event filters run before other listeners, event filters can both block other listeners and set arbitrary fields within an event. For this reason, event filters are both powerful and dangerous. They should generally be avoided for performance, debugging and code maintenance reasons.NOTE: In RAP, only events that have a matching listener registered on the event's source widget are processed on the server. One exception are key events, for which a whitelist can be define using
RWT#ACTIVE_KEYS
.- Parameters:
eventType
- the type of event to listen forlistener
- the listener which should be notified when the event occurs- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- See Also:
Listener
,SWT
,removeFilter(int, org.eclipse.swt.widgets.Listener)
,removeListener(int, org.eclipse.swt.widgets.Listener)
-
removeFilter
public void removeFilter(int eventType, Listener listener)
Removes the listener from the collection of listeners who will be notified when an event of the given type occurs anywhere in a widget. The event type is one of the event constants defined in classSWT
.- Parameters:
eventType
- the type of event to listen forlistener
- the listener which should no longer be notified when the event occurs- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- See Also:
Listener
,SWT
,addFilter(int, org.eclipse.swt.widgets.Listener)
,addListener(int, org.eclipse.swt.widgets.Listener)
-
getData
public java.lang.Object getData()
Returns the application defined, display specific data associated with the receiver, or null if it has not been set. The display specific data is a single, unnamed field that is stored with every display.Applications may put arbitrary objects in this field. If the object stored in the display specific data needs to be notified when the display is disposed of, it is the application's responsibility to provide a
disposeExec()
handler which does so.- Returns:
- the display specific data
- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.2
- See Also:
setData(Object)
,disposeExec(Runnable)
-
setData
public void setData(java.lang.Object data)
Sets the application defined, display specific data associated with the receiver, to the argument. The display specific data is a single, unnamed field that is stored with every display.Applications may put arbitrary objects in this field. If the object stored in the display specific data needs to be notified when the display is disposed of, it is the application's responsibility provide a
disposeExec()
handler which does so.- Parameters:
data
- the new display specific data- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.2
- See Also:
getData()
,disposeExec(Runnable)
-
setData
public void setData(java.lang.String key, java.lang.Object value)
Sets the application defined property of the receiver with the specified name to the given argument.Applications may have associated arbitrary objects with the receiver in this fashion. If the objects stored in the properties need to be notified when the display is disposed of, it is the application's responsibility provide a
disposeExec()
handler which does so.- Parameters:
key
- the name of the propertyvalue
- the new value for the property- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the key is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.2
- See Also:
getData(String)
,disposeExec(Runnable)
-
getData
public java.lang.Object getData(java.lang.String key)
Returns the application defined property of the receiver with the specified name, or null if it has not been set.Applications may have associated arbitrary objects with the receiver in this fashion. If the objects stored in the properties need to be notified when the display is disposed of, it is the application's responsibility to provide a
disposeExec()
handler which does so.- Parameters:
key
- the name of the property- Returns:
- the value of the property or null if it has not been set
- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the key is null
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.2
- See Also:
setData(String, Object)
,disposeExec(Runnable)
-
getMonitors
public Monitor[] getMonitors()
Returns an array of monitors attached to the device.- Returns:
- the array of monitors
- Since:
- 1.2
-
getPrimaryMonitor
public Monitor getPrimaryMonitor()
Returns the primary monitor for that device.- Returns:
- the primary monitor
- Since:
- 1.2
-
getAppName
public static java.lang.String getAppName()
Returns the application name.- Returns:
- the application name
- Since:
- 1.3
- See Also:
setAppName(String)
-
getAppVersion
public static java.lang.String getAppVersion()
Returns the application version.- Returns:
- the application version
- Since:
- 1.3
- See Also:
setAppVersion(String)
-
setAppName
public static void setAppName(java.lang.String name)
Sets the application name to the argument.Specifying
null
for the name clears it.- Parameters:
name
- the new app name ornull
- Since:
- 1.3
-
setAppVersion
public static void setAppVersion(java.lang.String version)
Sets the application version to the argument.- Parameters:
version
- the new app version- Since:
- 1.3
-
update
public void update()
Forces all outstanding paint requests for the display to be processed before this method returns.- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
- See Also:
Control.update()
-
beep
public void beep()
Causes the system hardware to emit a short sound (if it supports this capability).- Throws:
SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
- ERROR_DEVICE_DISPOSED - if the receiver has been disposed
- Since:
- 1.3
-
getTouchEnabled
public boolean getTouchEnabled()
Returns true if a touch-aware input device is attached to the system, enabled, and ready for use.- Since:
- 1.4
-
checkDevice
protected void checkDevice()
Description copied from class:Device
Throws anSWTException
if the receiver can not be accessed by the caller. This may include both checks on the state of the receiver and more generally on the entire execution context. This method should be called by device implementors to enforce the standard SWT invariants.Currently, it is an error to invoke any method (other than
isDisposed()
anddispose()
) on a device that has had itsdispose()
method called.In future releases of SWT, there may be more or fewer error checks and exceptions may be thrown for different reasons.
- Overrides:
checkDevice
in classDevice
-
-