This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.awt
class Toolkit

java.lang.Object extended by java.awt.Toolkit

Most common way to construct:

Toolkit tk = Toolkit.getDefaultToolkit();

Based on 79 examples


public abstract class Toolkit
extends Object

This class is the abstract superclass of all actual implementations of the Abstract Window Toolkit. Subclasses of Toolkit are used to bind the various components to particular native toolkit implementations.

Many GUI operations may be performed asynchronously. This means that if you set the state of a component, and then immediately query the state, the returned value may not yet reflect the requested change. This includes, but is not limited to:

Most applications should not call any of the methods in this class directly. The methods defined by Toolkit are the "glue" that joins the platform-independent classes in the java.awt package with their counterparts in java.awt.peer. Some methods defined by Toolkit query the native operating system directly.


Field Summary
protected Map desktopProperties
          
protected PropertyChangeSupport desktopPropsSupport
          
 
Constructor Summary

          
 
Method Summary
 void
addAWTEventListener(AWTEventListener listener, long eventMask)

          Adds an AWTEventListener to receive all AWTEvents dispatched system-wide that conform to the given eventMask.
 void

          Adds the specified property change listener for the named desktop property.
abstract void

          Emits an audio beep.
abstract int
checkImage(Image image, int width, int height, ImageObserver observer)

          Indicates the construction status of a specified image that is being prepared for display.
protected abstract ButtonPeer

          Creates this toolkit's implementation of Button using the specified peer interface.
protected abstract CanvasPeer

          Creates this toolkit's implementation of Canvas using the specified peer interface.
protected abstract CheckboxPeer

          Creates this toolkit's implementation of Checkbox using the specified peer interface.
protected abstract CheckboxMenuItemPeer

          Creates this toolkit's implementation of CheckboxMenuItem using the specified peer interface.
protected abstract ChoicePeer

          Creates this toolkit's implementation of Choice using the specified peer interface.
protected LightweightPeer

          Creates a peer for a component or container.
 Cursor
createCustomCursor(Image cursor, Point hotSpot, String name)

          Creates a new custom cursor object.
protected abstract DesktopPeer

          Creates this toolkit's implementation of the Desktop using the specified peer interface.
protected abstract DialogPeer

          Creates this toolkit's implementation of Dialog using the specified peer interface.
 DragGestureRecognizer
createDragGestureRecognizer(Class abstractRecognizerClass, DragSource ds, Component c, int srcActions, DragGestureListener dgl)

          Creates a concrete, platform dependent, subclass of the abstract DragGestureRecognizer class requested, and associates it with the DragSource, Component and DragGestureListener specified.
abstract DragSourceContextPeer

          Creates the peer for a DragSourceContext.
protected abstract FileDialogPeer

          Creates this toolkit's implementation of FileDialog using the specified peer interface.
protected abstract FramePeer

          Creates this toolkit's implementation of Frame using the specified peer interface.
 Image
createImage(byte[] imagedata)

          Creates an image which decodes the image stored in the specified byte array.
abstract Image
createImage(byte[] imagedata, int imageoffset, int imagelength)

          Creates an image which decodes the image stored in the specified byte array, and at the specified offset and length.
abstract Image

          Creates an image with the specified image producer.
abstract Image
createImage(String filename)

          Returns an image which gets pixel data from the specified file.
abstract Image

          Returns an image which gets pixel data from the specified URL.
protected abstract LabelPeer

          Creates this toolkit's implementation of Label using the specified peer interface.
protected abstract ListPeer
createList(List target)

          Creates this toolkit's implementation of List using the specified peer interface.
protected abstract MenuPeer
createMenu(Menu target)

          Creates this toolkit's implementation of Menu using the specified peer interface.
protected abstract MenuBarPeer

          Creates this toolkit's implementation of MenuBar using the specified peer interface.
protected abstract MenuItemPeer

          Creates this toolkit's implementation of MenuItem using the specified peer interface.
protected abstract PanelPeer

          Creates this toolkit's implementation of Panel using the specified peer interface.
protected abstract PopupMenuPeer

          Creates this toolkit's implementation of PopupMenu using the specified peer interface.
protected abstract ScrollbarPeer

          Creates this toolkit's implementation of Scrollbar using the specified peer interface.
protected abstract ScrollPanePeer

          Creates this toolkit's implementation of ScrollPane using the specified peer interface.
protected abstract TextAreaPeer

          Creates this toolkit's implementation of TextArea using the specified peer interface.
protected abstract TextFieldPeer

          Creates this toolkit's implementation of TextField using the specified peer interface.
protected abstract WindowPeer

          Creates this toolkit's implementation of Window using the specified peer interface.
 AWTEventListener[]

          Returns an array of all the AWTEventListeners registered on this toolkit.
 AWTEventListener[]
getAWTEventListeners(long eventMask)

          Returns an array of all the AWTEventListeners registered on this toolkit which listen to all of the event types specified in the argument.
 Dimension
getBestCursorSize(int preferredWidth, int preferredHeight)

          Returns the supported cursor dimension which is closest to the desired sizes.
abstract ColorModel

          Determines the color model of this toolkit's screen.
static Toolkit

          Gets the default toolkit.
 Object
getDesktopProperty(String propertyName)

          Obtains a value for the specified desktop property.
abstract String[]

          Returns the names of the available fonts in this toolkit.
abstract FontMetrics

          Gets the screen device metrics for rendering of the font.
protected abstract FontPeer
getFontPeer(String name, int style)

          Creates this toolkit's implementation of Font using the specified peer interface.
abstract Image
getImage(String filename)

          Returns an image which gets pixel data from the specified file, whose format can be either GIF, JPEG or PNG.
abstract Image

          Returns an image which gets pixel data from the specified URL.
 boolean
getLockingKeyState(int keyCode)

          Returns whether the given locking key on the keyboard is currently in its "on" state.
 int

          Returns the maximum number of colors the Toolkit supports in a custom cursor palette.
 int

          Determines which modifier key is the appropriate accelerator key for menu shortcuts.
protected MouseInfoPeer

          Obtains this toolkit's implementation of helper class for MouseInfo operations.
protected static Container

          Give native peers the ability to query the native container given a native component (eg the direct parent may be lightweight).
 PrintJob
getPrintJob(Frame frame, String jobtitle, JobAttributes jobAttributes, PageAttributes pageAttributes)

          Gets a PrintJob object which is the result of initiating a print operation on the toolkit's platform.
abstract PrintJob
getPrintJob(Frame frame, String jobtitle, Properties props)

          Gets a PrintJob object which is the result of initiating a print operation on the toolkit's platform.
static String
getProperty(String key, String defaultValue)

          Gets a property with the specified key and default.
 PropertyChangeListener[]

          Returns an array of all the property change listeners registered on this toolkit.
 PropertyChangeListener[]

          Returns an array of all the PropertyChangeListeners associated with the named property.
 Insets

          Gets the insets of the screen.
abstract int

          Returns the screen resolution in dots-per-inch.
abstract Dimension

          Gets the size of the screen.
abstract Clipboard

          Gets the singleton instance of the system Clipboard which interfaces with clipboard facilities provided by the native platform.
 EventQueue

          Get the application's or applet's EventQueue instance.
protected abstract EventQueue

          Gets the application's or applet's EventQueue instance, without checking access.
 Clipboard

          Gets the singleton instance of the system selection as a Clipboard object.
protected void

          initializeDesktopProperties
 boolean

          Returns whether the always-on-top mode is supported by this toolkit.
 boolean

          Returns whether dynamic layout of Containers on resize is currently active (both set programmatically, and supported by the underlying operating system and/or window manager).
protected boolean

          Returns whether the layout of Containers is validated dynamically during resizing, or statically, after resizing is complete.
 boolean

          Returns whether Toolkit supports this state for Frames.
abstract boolean

          Returns whether the given modal exclusion type is supported by this toolkit.
abstract boolean

          Returns whether the given modality type is supported by this toolkit.
protected Object

          an opportunity to lazily evaluate desktop property values.
protected void
loadSystemColors(int[] systemColors)

          Fills in the integer array that is supplied as an argument with the current system color values.
abstract Map

          Returns a map of visual attributes for the abstract level description of the given input method highlight, or null if no mapping is found.
abstract boolean
prepareImage(Image image, int width, int height, ImageObserver observer)

          Prepares an image for rendering.
 void

          Removes an AWTEventListener from receiving dispatched AWTEvents.
 void

          Removes the specified property change listener for the named desktop property.
protected void
setDesktopProperty(String name, Object newValue)

          Sets the named desktop property to the specified value and fires a property change event to notify any listeners that the value has changed.
 void
setDynamicLayout(boolean dynamic)

          Controls whether the layout of Containers is validated dynamically during resizing, or statically, after resizing is complete.
 void
setLockingKeyState(int keyCode, boolean on)

          Sets the state of the given locking key on the keyboard.
abstract void

          Synchronizes this toolkit's graphics state.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

desktopProperties

protected final Map desktopProperties

desktopPropsSupport

protected final PropertyChangeSupport desktopPropsSupport
Constructor Detail

Toolkit

public Toolkit()
Method Detail

addAWTEventListener

public void addAWTEventListener(AWTEventListener listener,
                                long eventMask)
Adds an AWTEventListener to receive all AWTEvents dispatched system-wide that conform to the given eventMask.

First, if there is a security manager, its checkPermission method is called with an AWTPermission("listenToAllAWTEvents") permission. This may result in a SecurityException.

eventMask is a bitmask of event types to receive. It is constructed by bitwise OR-ing together the event masks defined in AWTEvent.

Note: event listener use is not recommended for normal application use, but are intended solely to support special purpose facilities including support for accessibility, event record/playback, and diagnostic tracing. If listener is null, no exception is thrown and no action is performed.

Parameters:
listener - the event listener.
eventMask - the bitmask of event types to receive

addPropertyChangeListener

public synchronized void addPropertyChangeListener(String name,
                                                   PropertyChangeListener pcl)
Adds the specified property change listener for the named desktop property. If pcl is null, no exception is thrown and no action is performed.

Parameters:
name - The name of the property to listen for
pcl - The property change listener

beep

public abstract void beep()
Emits an audio beep.


checkImage

public abstract int checkImage(Image image,
                               int width,
                               int height,
                               ImageObserver observer)
Indicates the construction status of a specified image that is being prepared for display.

If the values of the width and height arguments are both -1, this method returns the construction status of a screen representation of the specified image in this toolkit. Otherwise, this method returns the construction status of a scaled representation of the image at the specified width and height.

This method does not cause the image to begin loading. An application must call prepareImage to force the loading of an image.

This method is called by the component's checkImage methods.

Information on the flags returned by this method can be found with the definition of the ImageObserver interface.

Parameters:
image - the image whose status is being checked.
width - the width of the scaled version whose status is being checked, or -1.
height - the height of the scaled version whose status is being checked, or -1.
observer - the ImageObserver object to be notified as the image is being prepared.
Returns:
the bitwise inclusive OR of the ImageObserver flags for the image data that is currently available.

createButton

protected abstract ButtonPeer createButton(Button target)
                                    throws HeadlessException
Creates this toolkit's implementation of Button using the specified peer interface.

Parameters:
target - the button to be implemented.
Returns:
this toolkit's implementation of Button.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createCanvas

protected abstract CanvasPeer createCanvas(Canvas target)
Creates this toolkit's implementation of Canvas using the specified peer interface.

Parameters:
target - the canvas to be implemented.
Returns:
this toolkit's implementation of Canvas.

createCheckbox

protected abstract CheckboxPeer createCheckbox(Checkbox target)
                                        throws HeadlessException
Creates this toolkit's implementation of Checkbox using the specified peer interface.

Parameters:
target - the check box to be implemented.
Returns:
this toolkit's implementation of Checkbox.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createCheckboxMenuItem

protected abstract CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem target)
                                                        throws HeadlessException
Creates this toolkit's implementation of CheckboxMenuItem using the specified peer interface.

Parameters:
target - the checkbox menu item to be implemented.
Returns:
this toolkit's implementation of CheckboxMenuItem.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createChoice

protected abstract ChoicePeer createChoice(Choice target)
                                    throws HeadlessException
Creates this toolkit's implementation of Choice using the specified peer interface.

Parameters:
target - the choice to be implemented.
Returns:
this toolkit's implementation of Choice.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createComponent

protected LightweightPeer createComponent(Component target)
Creates a peer for a component or container. This peer is windowless and allows the Component and Container classes to be extended directly to create windowless components that are defined entirely in java.

Parameters:
target - The Component to be created.

createCustomCursor

public Cursor createCustomCursor(Image cursor,
                                 Point hotSpot,
                                 String name)
                          throws IndexOutOfBoundsException,
                                 HeadlessException
Creates a new custom cursor object. If the image to display is invalid, the cursor will be hidden (made completely transparent), and the hotspot will be set to (0, 0).

Note that multi-frame images are invalid and may cause this method to hang.

Parameters:
cursor - the image to display when the cursor is actived
hotSpot - the X and Y of the large cursor's hot spot; the hotSpot values must be less than the Dimension returned by getBestCursorSize
name - a localized description of the cursor, for Java Accessibility use
Throws:
IndexOutOfBoundsException - if the hotSpot values are outside the bounds of the cursor
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createDesktopPeer

protected abstract DesktopPeer createDesktopPeer(Desktop target)
                                          throws HeadlessException
Creates this toolkit's implementation of the Desktop using the specified peer interface.

Parameters:
target - the desktop to be implemented
Returns:
this toolkit's implementation of the Desktop
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createDialog

protected abstract DialogPeer createDialog(Dialog target)
                                    throws HeadlessException
Creates this toolkit's implementation of Dialog using the specified peer interface.

Parameters:
target - the dialog to be implemented.
Returns:
this toolkit's implementation of Dialog.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createDragGestureRecognizer

public DragGestureRecognizer createDragGestureRecognizer(Class abstractRecognizerClass,
                                                         DragSource ds,
                                                         Component c,
                                                         int srcActions,
                                                         DragGestureListener dgl)
Creates a concrete, platform dependent, subclass of the abstract DragGestureRecognizer class requested, and associates it with the DragSource, Component and DragGestureListener specified. subclasses should override this to provide their own implementation

Parameters:
abstractRecognizerClass - The abstract class of the required recognizer
ds - The DragSource
c - The Component target for the DragGestureRecognizer
srcActions - The actions permitted for the gesture
dgl - The DragGestureListener
Returns:
the new object or null. Always returns null if GraphicsEnvironment.isHeadless() returns true.

createDragSourceContextPeer

public abstract DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge)
                                                           throws InvalidDnDOperationException
Creates the peer for a DragSourceContext. Always throws InvalidDndOperationException if GraphicsEnvironment.isHeadless() returns true.

Parameters:
dge
Throws:
InvalidDnDOperationException

createFileDialog

protected abstract FileDialogPeer createFileDialog(FileDialog target)
                                            throws HeadlessException
Creates this toolkit's implementation of FileDialog using the specified peer interface.

Parameters:
target - the file dialog to be implemented.
Returns:
this toolkit's implementation of FileDialog.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createFrame

protected abstract FramePeer createFrame(Frame target)
                                  throws HeadlessException
Creates this toolkit's implementation of Frame using the specified peer interface.

Parameters:
target - the frame to be implemented.
Returns:
this toolkit's implementation of Frame.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createImage

public Image createImage(byte[] imagedata)
Creates an image which decodes the image stored in the specified byte array.

The data must be in some image format, such as GIF or JPEG, that is supported by this toolkit.

Parameters:
imagedata - an array of bytes, representing image data in a supported image format.
Returns:
an image.

createImage

public abstract Image createImage(byte[] imagedata,
                                  int imageoffset,
                                  int imagelength)
Creates an image which decodes the image stored in the specified byte array, and at the specified offset and length. The data must be in some image format, such as GIF or JPEG, that is supported by this toolkit.

Parameters:
imagedata - an array of bytes, representing image data in a supported image format.
imageoffset - the offset of the beginning of the data in the array.
imagelength - the length of the data in the array.
Returns:
an image.

createImage

public abstract Image createImage(ImageProducer producer)
Creates an image with the specified image producer.

Parameters:
producer - the image producer to be used.
Returns:
an image with the specified image producer.

createImage

public abstract Image createImage(String filename)
Returns an image which gets pixel data from the specified file. The returned Image is a new object which will not be shared with any other caller of this method or its getImage variant.

This method first checks if there is a security manager installed. If so, the method calls the security manager's checkRead method with the specified file to ensure that the image creation is allowed.

Parameters:
filename - the name of a file containing pixel data in a recognized file format.
Returns:
an image which gets its pixel data from the specified file.

createImage

public abstract Image createImage(URL url)
Returns an image which gets pixel data from the specified URL. The returned Image is a new object which will not be shared with any other caller of this method or its getImage variant.

This method first checks if there is a security manager installed. If so, the method calls the security manager's checkPermission method with the url.openConnection().getPermission() permission to ensure that the image creation is allowed. For compatibility with pre-1.2 security managers, if the access is denied with FilePermission or SocketPermission, the method throws SecurityException if the corresponding 1.1-style SecurityManager.checkXXX method also denies permission.

Parameters:
url - the URL to use in fetching the pixel data.
Returns:
an image which gets its pixel data from the specified URL.

createLabel

protected abstract LabelPeer createLabel(Label target)
                                  throws HeadlessException
Creates this toolkit's implementation of Label using the specified peer interface.

Parameters:
target - the label to be implemented.
Returns:
this toolkit's implementation of Label.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createList

protected abstract ListPeer createList(List target)
                                throws HeadlessException
Creates this toolkit's implementation of List using the specified peer interface.

Parameters:
target - the list to be implemented.
Returns:
this toolkit's implementation of List.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createMenu

protected abstract MenuPeer createMenu(Menu target)
                                throws HeadlessException
Creates this toolkit's implementation of Menu using the specified peer interface.

Parameters:
target - the menu to be implemented.
Returns:
this toolkit's implementation of Menu.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createMenuBar

protected abstract MenuBarPeer createMenuBar(MenuBar target)
                                      throws HeadlessException
Creates this toolkit's implementation of MenuBar using the specified peer interface.

Parameters:
target - the menu bar to be implemented.
Returns:
this toolkit's implementation of MenuBar.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createMenuItem

protected abstract MenuItemPeer createMenuItem(MenuItem target)
                                        throws HeadlessException
Creates this toolkit's implementation of MenuItem using the specified peer interface.

Parameters:
target - the menu item to be implemented.
Returns:
this toolkit's implementation of MenuItem.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createPanel

protected abstract PanelPeer createPanel(Panel target)
Creates this toolkit's implementation of Panel using the specified peer interface.

Parameters:
target - the panel to be implemented.
Returns:
this toolkit's implementation of Panel.

createPopupMenu

protected abstract PopupMenuPeer createPopupMenu(PopupMenu target)
                                          throws HeadlessException
Creates this toolkit's implementation of PopupMenu using the specified peer interface.

Parameters:
target - the popup menu to be implemented.
Returns:
this toolkit's implementation of PopupMenu.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createScrollbar

protected abstract ScrollbarPeer createScrollbar(Scrollbar target)
                                          throws HeadlessException
Creates this toolkit's implementation of Scrollbar using the specified peer interface.

Parameters:
target - the scroll bar to be implemented.
Returns:
this toolkit's implementation of Scrollbar.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createScrollPane

protected abstract ScrollPanePeer createScrollPane(ScrollPane target)
                                            throws HeadlessException
Creates this toolkit's implementation of ScrollPane using the specified peer interface.

Parameters:
target - the scroll pane to be implemented.
Returns:
this toolkit's implementation of ScrollPane.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createTextArea

protected abstract TextAreaPeer createTextArea(TextArea target)
                                        throws HeadlessException
Creates this toolkit's implementation of TextArea using the specified peer interface.

Parameters:
target - the text area to be implemented.
Returns:
this toolkit's implementation of TextArea.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createTextField

protected abstract TextFieldPeer createTextField(TextField target)
                                          throws HeadlessException
Creates this toolkit's implementation of TextField using the specified peer interface.

Parameters:
target - the text field to be implemented.
Returns:
this toolkit's implementation of TextField.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

createWindow

protected abstract WindowPeer createWindow(Window target)
                                    throws HeadlessException
Creates this toolkit's implementation of Window using the specified peer interface.

Parameters:
target - the window to be implemented.
Returns:
this toolkit's implementation of Window.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getAWTEventListeners

public AWTEventListener[] getAWTEventListeners()
Returns an array of all the AWTEventListeners registered on this toolkit. If there is a security manager, its {@code checkPermission} method is called with an {@code AWTPermission("listenToAllAWTEvents")} permission. This may result in a SecurityException. Listeners can be returned within AWTEventListenerProxy objects, which also contain the event mask for the given listener. Note that listener objects added multiple times appear only once in the returned array.

Returns:
all of the AWTEventListeners or an empty array if no listeners are currently registered

getAWTEventListeners

public AWTEventListener[] getAWTEventListeners(long eventMask)
Returns an array of all the AWTEventListeners registered on this toolkit which listen to all of the event types specified in the {@code eventMask} argument. If there is a security manager, its {@code checkPermission} method is called with an {@code AWTPermission("listenToAllAWTEvents")} permission. This may result in a SecurityException. Listeners can be returned within AWTEventListenerProxy objects, which also contain the event mask for the given listener. Note that listener objects added multiple times appear only once in the returned array.

Parameters:
eventMask - the bitmask of event types to listen for
Returns:
all of the AWTEventListeners registered on this toolkit for the specified event types, or an empty array if no such listeners are currently registered

getBestCursorSize

public Dimension getBestCursorSize(int preferredWidth,
                                   int preferredHeight)
                            throws HeadlessException
Returns the supported cursor dimension which is closest to the desired sizes. Systems which only support a single cursor size will return that size regardless of the desired sizes. Systems which don't support custom cursors will return a dimension of 0, 0.

Note: if an image is used whose dimensions don't match a supported size (as returned by this method), the Toolkit implementation will attempt to resize the image to a supported size. Since converting low-resolution images is difficult, no guarantees are made as to the quality of a cursor image which isn't a supported size. It is therefore recommended that this method be called and an appropriate image used so no image conversion is made.

Parameters:
preferredWidth - the preferred cursor width the component would like to use.
preferredHeight - the preferred cursor height the component would like to use.
Returns:
the closest matching supported cursor size, or a dimension of 0,0 if the Toolkit implementation doesn't support custom cursors.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getColorModel

public abstract ColorModel getColorModel()
                                  throws HeadlessException
Determines the color model of this toolkit's screen.

ColorModel is an abstract class that encapsulates the ability to translate between the pixel values of an image and its red, green, blue, and alpha components.

This toolkit method is called by the getColorModel method of the Component class.

Returns:
the color model of this toolkit's screen.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getDefaultToolkit

public static synchronized Toolkit getDefaultToolkit()
Gets the default toolkit.

If a system property named "java.awt.headless" is set to true then the headless implementation of Toolkit is used.

If there is no "java.awt.headless" or it is set to false and there is a system property named "awt.toolkit", that property is treated as the name of a class that is a subclass of Toolkit; otherwise the default platform-specific implementation of Toolkit is used.

Also loads additional classes into the VM, using the property 'assistive_technologies' specified in the Sun reference implementation by a line in the 'accessibility.properties' file. The form is "assistive_technologies=..." where the "..." is a comma-separated list of assistive technology classes to load. Each class is loaded in the order given and a single instance of each is created using Class.forName(class).newInstance(). This is done just after the AWT toolkit is created. All errors are handled via an AWTError exception.

Returns:
the default toolkit.

getDesktopProperty

public final synchronized Object getDesktopProperty(String propertyName)
Obtains a value for the specified desktop property. A desktop property is a uniquely named value for a resource that is Toolkit global in nature. Usually it also is an abstract representation for an underlying platform dependent desktop setting. For more information on desktop properties supported by the AWT see AWT Desktop Properties.

Parameters:
propertyName

getFontList

public abstract String[] getFontList()
Returns the names of the available fonts in this toolkit.

For 1.1, the following font names are deprecated (the replacement name follows):

The ZapfDingbats fontname is also deprecated in 1.1 but the characters are defined in Unicode starting at 0x2700, and as of 1.1 Java supports those characters.

Returns:
the names of the available fonts in this toolkit.

getFontMetrics

public abstract FontMetrics getFontMetrics(Font font)
Gets the screen device metrics for rendering of the font.

Parameters:
font - a font
Returns:
the screen metrics of the specified font in this toolkit

getFontPeer

protected abstract FontPeer getFontPeer(String name,
                                        int style)
Creates this toolkit's implementation of Font using the specified peer interface.

Parameters:
name - the font to be implemented
style - the style of the font, such as PLAIN, BOLD, ITALIC, or a combination
Returns:
this toolkit's implementation of Font

getImage

public abstract Image getImage(String filename)
Returns an image which gets pixel data from the specified file, whose format can be either GIF, JPEG or PNG. The underlying toolkit attempts to resolve multiple requests with the same filename to the same returned Image.

Since the mechanism required to facilitate this sharing of Image objects may continue to hold onto images that are no longer in use for an indefinite period of time, developers are encouraged to implement their own caching of images by using the {@link #createImage(java.lang.String) createImage} variant wherever available. If the image data contained in the specified file changes, the Image object returned from this method may still contain stale information which was loaded from the file after a prior call. Previously loaded image data can be manually discarded by calling the {@link Image#flush flush} method on the returned Image.

This method first checks if there is a security manager installed. If so, the method calls the security manager's checkRead method with the file specified to ensure that the access to the image is allowed.

Parameters:
filename - the name of a file containing pixel data in a recognized file format.
Returns:
an image which gets its pixel data from the specified file.

getImage

public abstract Image getImage(URL url)
Returns an image which gets pixel data from the specified URL. The pixel data referenced by the specified URL must be in one of the following formats: GIF, JPEG or PNG. The underlying toolkit attempts to resolve multiple requests with the same URL to the same returned Image.

Since the mechanism required to facilitate this sharing of Image objects may continue to hold onto images that are no longer in use for an indefinite period of time, developers are encouraged to implement their own caching of images by using the {@link #createImage(java.net.URL) createImage} variant wherever available. If the image data stored at the specified URL changes, the Image object returned from this method may still contain stale information which was fetched from the URL after a prior call. Previously loaded image data can be manually discarded by calling the {@link Image#flush flush} method on the returned Image.

This method first checks if there is a security manager installed. If so, the method calls the security manager's checkPermission method with the url.openConnection().getPermission() permission to ensure that the access to the image is allowed. For compatibility with pre-1.2 security managers, if the access is denied with FilePermission or SocketPermission, the method throws the SecurityException if the corresponding 1.1-style SecurityManager.checkXXX method also denies permission.

Parameters:
url - the URL to use in fetching the pixel data.
Returns:
an image which gets its pixel data from the specified URL.

getLockingKeyState

public boolean getLockingKeyState(int keyCode)
                           throws UnsupportedOperationException
Returns whether the given locking key on the keyboard is currently in its "on" state. Valid key codes are {@link java.awt.event.KeyEvent#VK_CAPS_LOCK VK_CAPS_LOCK}, {@link java.awt.event.KeyEvent#VK_NUM_LOCK VK_NUM_LOCK}, {@link java.awt.event.KeyEvent#VK_SCROLL_LOCK VK_SCROLL_LOCK}, and {@link java.awt.event.KeyEvent#VK_KANA_LOCK VK_KANA_LOCK}.

Parameters:
keyCode
Throws:
UnsupportedOperationException - if the host system doesn't allow getting the state of this key programmatically, or if the keyboard doesn't have this key

getMaximumCursorColors

public int getMaximumCursorColors()
                           throws HeadlessException
Returns the maximum number of colors the Toolkit supports in a custom cursor palette.

Note: if an image is used which has more colors in its palette than the supported maximum, the Toolkit implementation will attempt to flatten the palette to the maximum. Since converting low-resolution images is difficult, no guarantees are made as to the quality of a cursor image which has more colors than the system supports. It is therefore recommended that this method be called and an appropriate image used so no image conversion is made.

Returns:
the maximum number of colors, or zero if custom cursors are not supported by this Toolkit implementation.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getMenuShortcutKeyMask

public int getMenuShortcutKeyMask()
                           throws HeadlessException
Determines which modifier key is the appropriate accelerator key for menu shortcuts.

Menu shortcuts, which are embodied in the MenuShortcut class, are handled by the MenuBar class.

By default, this method returns Event.CTRL_MASK. Toolkit implementations should override this method if the Control key isn't the correct key for accelerators.

Returns:
the modifier mask on the Event class that is used for menu shortcuts on this toolkit.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getMouseInfoPeer

protected MouseInfoPeer getMouseInfoPeer()
Obtains this toolkit's implementation of helper class for MouseInfo operations.

Returns:
this toolkit's implementation of helper for MouseInfo

getNativeContainer

protected static Container getNativeContainer(Component c)
Give native peers the ability to query the native container given a native component (eg the direct parent may be lightweight).

Parameters:
c

getPrintJob

public PrintJob getPrintJob(Frame frame,
                            String jobtitle,
                            JobAttributes jobAttributes,
                            PageAttributes pageAttributes)
Gets a PrintJob object which is the result of initiating a print operation on the toolkit's platform.

Each actual implementation of this method should first check if there is a security manager installed. If there is, the method should call the security manager's checkPrintJobAccess method to ensure initiation of a print operation is allowed. If the default implementation of checkPrintJobAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a RuntimePermission("queuePrintJob") permission.

Parameters:
frame - the parent of the print dialog. May be null if and only if jobAttributes is not null and jobAttributes.getDialog() returns JobAttributes.DialogType.NONE or JobAttributes.DialogType.COMMON.
jobtitle - the title of the PrintJob. A null title is equivalent to "".
jobAttributes - a set of job attributes which will control the PrintJob. The attributes will be updated to reflect the user's choices as outlined in the JobAttributes documentation. May be null.
pageAttributes - a set of page attributes which will control the PrintJob. The attributes will be applied to every page in the job. The attributes will be updated to reflect the user's choices as outlined in the PageAttributes documentation. May be null.
Returns:
a PrintJob object, or null if the user cancelled the print job.

getPrintJob

public abstract PrintJob getPrintJob(Frame frame,
                                     String jobtitle,
                                     Properties props)
Gets a PrintJob object which is the result of initiating a print operation on the toolkit's platform.

Each actual implementation of this method should first check if there is a security manager installed. If there is, the method should call the security manager's checkPrintJobAccess method to ensure initiation of a print operation is allowed. If the default implementation of checkPrintJobAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a RuntimePermission("queuePrintJob") permission.

Parameters:
frame - the parent of the print dialog. May not be null.
jobtitle - the title of the PrintJob. A null title is equivalent to "".
props - a Properties object containing zero or more properties. Properties are not standardized and are not consistent across implementations. Because of this, PrintJobs which require job and page control should use the version of this function which takes JobAttributes and PageAttributes objects. This object may be updated to reflect the user's job choices on exit. May be null.
Returns:
a PrintJob object, or null if the user cancelled the print job.

getProperty

public static String getProperty(String key,
                                 String defaultValue)
Gets a property with the specified key and default. This method returns defaultValue if the property is not found.

Parameters:
key
defaultValue

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the property change listeners registered on this toolkit.

Returns:
all of this toolkit's PropertyChangeListeners or an empty array if no property change listeners are currently registered

getPropertyChangeListeners

public synchronized PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Returns an array of all the PropertyChangeListeners associated with the named property.

Parameters:
propertyName - the named property
Returns:
all of the PropertyChangeListeners associated with the named property or an empty array if no such listeners have been added

getScreenInsets

public Insets getScreenInsets(GraphicsConfiguration gc)
                       throws HeadlessException
Gets the insets of the screen.

Parameters:
gc - a GraphicsConfiguration
Returns:
the insets of this toolkit's screen, in pixels.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getScreenResolution

public abstract int getScreenResolution()
                                 throws HeadlessException
Returns the screen resolution in dots-per-inch.

Returns:
this toolkit's screen resolution, in dots-per-inch.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getScreenSize

public abstract Dimension getScreenSize()
                                 throws HeadlessException
Gets the size of the screen. On systems with multiple displays, the primary display is used. Multi-screen aware display dimensions are available from GraphicsConfiguration and GraphicsDevice.

Returns:
the size of this toolkit's screen, in pixels.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getSystemClipboard

public abstract Clipboard getSystemClipboard()
                                      throws HeadlessException
Gets the singleton instance of the system Clipboard which interfaces with clipboard facilities provided by the native platform. This clipboard enables data transfer between Java programs and native applications which use native clipboard facilities.

In addition to any and all formats specified in the flavormap.properties file, or other file specified by the AWT.DnD.flavorMapFileURL Toolkit property, text returned by the system Clipboard's getTransferData() method is available in the following flavors:

As with java.awt.datatransfer.StringSelection, if the requested flavor is DataFlavor.plainTextFlavor, or an equivalent flavor, a Reader is returned. Note: The behavior of the system Clipboard's getTransferData() method for DataFlavor.plainTextFlavor, and equivalent DataFlavors, is inconsistent with the definition of DataFlavor.plainTextFlavor . Because of this, support for DataFlavor.plainTextFlavor, and equivalent flavors, is deprecated.

Each actual implementation of this method should first check if there is a security manager installed. If there is, the method should call the security manager's checkSystemClipboardAccess method to ensure it's ok to to access the system clipboard. If the default implementation of checkSystemClipboardAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with an AWTPermission("accessClipboard") permission.

Returns:
the system Clipboard
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getSystemEventQueue

public final EventQueue getSystemEventQueue()
Get the application's or applet's EventQueue instance. Depending on the Toolkit implementation, different EventQueues may be returned for different applets. Applets should therefore not assume that the EventQueue instance returned by this method will be shared by other applets or the system.

First, if there is a security manager, its checkAwtEventQueueAccess method is called. If the default implementation of checkAwtEventQueueAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with an AWTPermission("accessEventQueue") permission.

Returns:
the EventQueue object

getSystemEventQueueImpl

protected abstract EventQueue getSystemEventQueueImpl()
Gets the application's or applet's EventQueue instance, without checking access. For security reasons, this can only be called from a Toolkit subclass.

Returns:
the EventQueue object

getSystemSelection

public Clipboard getSystemSelection()
                             throws HeadlessException
Gets the singleton instance of the system selection as a Clipboard object. This allows an application to read and modify the current, system-wide selection.

An application is responsible for updating the system selection whenever the user selects text, using either the mouse or the keyboard. Typically, this is implemented by installing a FocusListener on all Components which support text selection, and, between FOCUS_GAINED and FOCUS_LOST events delivered to that Component, updating the system selection Clipboard when the selection changes inside the Component. Properly updating the system selection ensures that a Java application will interact correctly with native applications and other Java applications running simultaneously on the system. Note that java.awt.TextComponent and javax.swing.text.JTextComponent already adhere to this policy. When using these classes, and their subclasses, developers need not write any additional code.

Some platforms do not support a system selection Clipboard. On those platforms, this method will return null. In such a case, an application is absolved from its responsibility to update the system selection Clipboard as described above.

Each actual implementation of this method should first check if there is a SecurityManager installed. If there is, the method should call the SecurityManager's checkSystemClipboardAccess method to ensure that client code has access the system selection. If the default implementation of checkSystemClipboardAccess is used (that is, if the method is not overridden), then this results in a call to the SecurityManager's checkPermission method with an AWTPermission("accessClipboard") permission.

Returns:
the system selection as a Clipboard, or null if the native platform does not support a system selection Clipboard
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

initializeDesktopProperties

protected void initializeDesktopProperties()
initializeDesktopProperties


isAlwaysOnTopSupported

public boolean isAlwaysOnTopSupported()
Returns whether the always-on-top mode is supported by this toolkit. To detect whether the always-on-top mode is supported for a particular Window, use {@link Window#isAlwaysOnTopSupported}.

Returns:
true, if current toolkit supports the always-on-top mode, otherwise returns false

isDynamicLayoutActive

public boolean isDynamicLayoutActive()
                              throws HeadlessException
Returns whether dynamic layout of Containers on resize is currently active (both set programmatically, and supported by the underlying operating system and/or window manager). The OS/WM support can be queried using getDesktopProperty("awt.dynamicLayoutSupported").

Returns:
true if dynamic layout of Containers on resize is currently active, false otherwise.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

isDynamicLayoutSet

protected boolean isDynamicLayoutSet()
                              throws HeadlessException
Returns whether the layout of Containers is validated dynamically during resizing, or statically, after resizing is complete. Note: this method returns the value that was set programmatically; it does not reflect support at the level of the operating system or window manager for dynamic layout on resizing, or the current operating system or window manager settings. The OS/WM support can be queried using getDesktopProperty("awt.dynamicLayoutSupported").

Returns:
true if validation of Containers is done dynamically, false if validation is done after resizing is finished.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

isFrameStateSupported

public boolean isFrameStateSupported(int state)
                              throws HeadlessException
Returns whether Toolkit supports this state for Frames. This method tells whether the UI concept of, say, maximization or iconification is supported. It will always return false for "compound" states like Frame.ICONIFIED|Frame.MAXIMIZED_VERT. In other words, the rule of thumb is that only queries with a single frame state constant as an argument are meaningful.

Parameters:
state - one of named frame state constants.
Returns:
true is this frame state is supported by this Toolkit implementation, false otherwise.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.

isModalExclusionTypeSupported

public abstract boolean isModalExclusionTypeSupported(Dialog.ModalExclusionType modalExclusionType)
Returns whether the given modal exclusion type is supported by this toolkit. If an unsupported modal exclusion type property is set on a window, then Dialog.ModalExclusionType.NO_EXCLUDE is used instead.

Parameters:
modalExclusionType - modal exclusion type to be checked for support by this toolkit
Returns:
true, if current toolkit supports given modal exclusion type, false otherwise

isModalityTypeSupported

public abstract boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
Returns whether the given modality type is supported by this toolkit. If a dialog with unsupported modality type is created, then Dialog.ModalityType.MODELESS is used instead.

Parameters:
modalityType - modality type to be checked for support by this toolkit
Returns:
true, if current toolkit supports given modality type, false otherwise

lazilyLoadDesktopProperty

protected Object lazilyLoadDesktopProperty(String name)
an opportunity to lazily evaluate desktop property values.

Parameters:
name

loadSystemColors

protected void loadSystemColors(int[] systemColors)
                         throws HeadlessException
Fills in the integer array that is supplied as an argument with the current system color values.

Parameters:
systemColors - an integer array.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

mapInputMethodHighlight

public abstract Map mapInputMethodHighlight(InputMethodHighlight highlight)
                                     throws HeadlessException
Returns a map of visual attributes for the abstract level description of the given input method highlight, or null if no mapping is found. The style field of the input method highlight is ignored. The map returned is unmodifiable.

Parameters:
highlight - input method highlight
Returns:
style attribute map, or null
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless returns true

prepareImage

public abstract boolean prepareImage(Image image,
                                     int width,
                                     int height,
                                     ImageObserver observer)
Prepares an image for rendering.

If the values of the width and height arguments are both -1, this method prepares the image for rendering on the default screen; otherwise, this method prepares an image for rendering on the default screen at the specified width and height.

The image data is downloaded asynchronously in another thread, and an appropriately scaled screen representation of the image is generated.

This method is called by components prepareImage methods.

Information on the flags returned by this method can be found with the definition of the ImageObserver interface.

Parameters:
image - the image for which to prepare a screen representation.
width - the width of the desired screen representation, or -1.
height - the height of the desired screen representation, or -1.
observer - the ImageObserver object to be notified as the image is being prepared.
Returns:
true if the image has already been fully prepared; false otherwise.

removeAWTEventListener

public void removeAWTEventListener(AWTEventListener listener)
Removes an AWTEventListener from receiving dispatched AWTEvents.

First, if there is a security manager, its checkPermission method is called with an AWTPermission("listenToAllAWTEvents") permission. This may result in a SecurityException.

Note: event listener use is not recommended for normal application use, but are intended solely to support special purpose facilities including support for accessibility, event record/playback, and diagnostic tracing. If listener is null, no exception is thrown and no action is performed.

Parameters:
listener - the event listener.

removePropertyChangeListener

public synchronized void removePropertyChangeListener(String name,
                                                      PropertyChangeListener pcl)
Removes the specified property change listener for the named desktop property. If pcl is null, no exception is thrown and no action is performed.

Parameters:
name - The name of the property to remove
pcl - The property change listener

setDesktopProperty

protected final void setDesktopProperty(String name,
                                        Object newValue)
Sets the named desktop property to the specified value and fires a property change event to notify any listeners that the value has changed.

Parameters:
name
newValue

setDynamicLayout

public void setDynamicLayout(boolean dynamic)
                      throws HeadlessException
Controls whether the layout of Containers is validated dynamically during resizing, or statically, after resizing is complete. Note that this feature is not supported on all platforms, and conversely, that this feature cannot be turned off on some platforms. On platforms where dynamic layout during resize is not supported (or is always supported), setting this property has no effect. Note that this feature can be set or unset as a property of the operating system or window manager on some platforms. On such platforms, the dynamic resize property must be set at the operating system or window manager level before this method can take effect. This method does not change the underlying operating system or window manager support or settings. The OS/WM support can be queried using getDesktopProperty("awt.dynamicLayoutSupported").

Parameters:
dynamic - If true, Containers should re-layout their components as the Container is being resized. If false, the layout will be validated after resizing is finished.
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

setLockingKeyState

public void setLockingKeyState(int keyCode,
                               boolean on)
                        throws UnsupportedOperationException
Sets the state of the given locking key on the keyboard. Valid key codes are {@link java.awt.event.KeyEvent#VK_CAPS_LOCK VK_CAPS_LOCK}, {@link java.awt.event.KeyEvent#VK_NUM_LOCK VK_NUM_LOCK}, {@link java.awt.event.KeyEvent#VK_SCROLL_LOCK VK_SCROLL_LOCK}, and {@link java.awt.event.KeyEvent#VK_KANA_LOCK VK_KANA_LOCK}.

Depending on the platform, setting the state of a locking key may involve event processing and therefore may not be immediately observable through getLockingKeyState.

Parameters:
keyCode
on
Throws:
UnsupportedOperationException - if the host system doesn't allow setting the state of this key programmatically, or if the keyboard doesn't have this key

sync

public abstract void sync()
Synchronizes this toolkit's graphics state. Some window systems may do buffering of graphics events.

This method ensures that the display is up-to-date. It is useful for animation.



This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.