- Type Parameters:
- V- one of the super types of- JLayer's view component
- All Implemented Interfaces:
- Serializable
JLayer's UI delegates.
 
 paint(java.awt.Graphics, javax.swing.JComponent) method performs the
 painting of the JLayer
 and eventDispatched(AWTEvent, JLayer) method is notified
 about any AWTEvents which have been generated by a JLayer
 or any of its subcomponents.
 
 The LayerUI differs from the UI delegates of the other components,
 because it is LookAndFeel independent and is not updated by default when
 the system LookAndFeel is changed.
 
 The subclasses of LayerUI can either be stateless and shareable
 by multiple JLayers or not shareable.
- Since:
- 1.7
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidAdds a PropertyChangeListener to the listener list.voidaddPropertyChangeListener(String propertyName, PropertyChangeListener listener) Adds a PropertyChangeListener to the listener list for a specific property.voidapplyPropertyChange(PropertyChangeEvent evt, JLayer<? extends V> l) Notifies theLayerUIwhen any of its property are changed and enables updating everyJLayerthisLayerUIinstance is set to.voidCauses the passed instance ofJLayerto lay out its components.voideventDispatched(AWTEvent e, JLayer<? extends V> l) ProcessesAWTEvents forJLayerand all its descendants to thisLayerUIinstance.protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue) Support for reporting bound property changes for Object properties.intgetBaseline(JComponent c, int width, int height) If theJLayer's view component is notnull, this calls the view'sgetBaseline()method.If theJLayer's view component is notnull, this returns the result of the view'sgetBaselineResizeBehavior()method.If theJLayer's view component is notnull, this returns the result of the view'sgetMaximumSize()method.If theJLayer's view component is notnull, this returns the result of the view'sgetMinimalSize()method.If theJLayer's view component is notnull, this returns the result of the view'sgetPreferredSize()method.Returns an array of all the property change listeners registered on this component.getPropertyChangeListeners(String propertyName) Returns an array of all the listeners which have been associated with the named property.booleanimageUpdate(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l) Delegates its functionality to the default implementation of theJLayer.imageUpdatemethod which is inherited fromJLayer's base classes.voidConfigures theJLayerthisLayerUIis set to.voidpaint(Graphics g, JComponent c) Paints the specified component.voidpaintImmediately(int x, int y, int width, int height, JLayer<? extends V> l) Paints the specified region in theJLayerthisLayerUIis set to, immediately.protected voidprocessComponentEvent(ComponentEvent e, JLayer<? extends V> l) Processes component events occurring on theJLayeror any of its subcomponents.protected voidprocessFocusEvent(FocusEvent e, JLayer<? extends V> l) Processes focus events occurring on theJLayeror any of its subcomponents.protected voidprocessHierarchyBoundsEvent(HierarchyEvent e, JLayer<? extends V> l) Processes hierarchy bounds event occurring on theJLayeror any of its subcomponents.protected voidprocessHierarchyEvent(HierarchyEvent e, JLayer<? extends V> l) Processes hierarchy event occurring on theJLayeror any of its subcomponents.protected voidprocessInputMethodEvent(InputMethodEvent e, JLayer<? extends V> l) Processes input event occurring on theJLayeror any of its subcomponents.protected voidprocessKeyEvent(KeyEvent e, JLayer<? extends V> l) Processes key events occurring on theJLayeror any of its subcomponents.protected voidprocessMouseEvent(MouseEvent e, JLayer<? extends V> l) Processes mouse events occurring on theJLayeror any of its subcomponents.protected voidprocessMouseMotionEvent(MouseEvent e, JLayer<? extends V> l) Processes mouse motion event occurring on theJLayeror any of its subcomponents.protected voidprocessMouseWheelEvent(MouseWheelEvent e, JLayer<? extends V> l) Processes mouse wheel event occurring on theJLayeror any of its subcomponents.voidRemoves a PropertyChangeListener from the listener list.voidremovePropertyChangeListener(String propertyName, PropertyChangeListener listener) Removes aPropertyChangeListenerfrom the listener list for a specific property.voidReverses the configuration which was previously set in theinstallUI(JComponent)method.voidMethods declared in class javax.swing.plaf.ComponentUIcontains, createUI, getAccessibleChild, getAccessibleChildrenCount, update
- 
Constructor Details- 
LayerUIpublic LayerUI()Constructs aLayerUI.
 
- 
- 
Method Details- 
paintPaints the specified component. Subclasses should override this method and use the specifiedGraphicsobject to render the content of the component.The default implementation paints the passed component as is. - Overrides:
- paintin class- ComponentUI
- Parameters:
- g- the- Graphicscontext in which to paint
- c- the component being painted
- See Also:
 
- 
eventDispatchedProcessesAWTEvents forJLayerand all its descendants to thisLayerUIinstance.To enable the AWTEvents of a particular type, you callJLayer.setLayerEventMask(long)ininstallUI(javax.swing.JComponent)and set the layer event mask to0inuninstallUI(javax.swing.JComponent)after that. By default this method calls the appropriateprocess<eventtype>Eventmethod for the given class of event.Note: Events are processed only for displayable JLayers.- Parameters:
- e- the event to be dispatched
- l- the layer this LayerUI is set to
- See Also:
- 
- JLayer.setLayerEventMask(long)
- Component.isDisplayable()
- processComponentEvent(java.awt.event.ComponentEvent, javax.swing.JLayer<? extends V>)
- processFocusEvent(java.awt.event.FocusEvent, javax.swing.JLayer<? extends V>)
- processKeyEvent(java.awt.event.KeyEvent, javax.swing.JLayer<? extends V>)
- processMouseEvent(java.awt.event.MouseEvent, javax.swing.JLayer<? extends V>)
- processMouseMotionEvent(java.awt.event.MouseEvent, javax.swing.JLayer<? extends V>)
- processInputMethodEvent(java.awt.event.InputMethodEvent, javax.swing.JLayer<? extends V>)
- processHierarchyEvent(java.awt.event.HierarchyEvent, javax.swing.JLayer<? extends V>)
- processMouseWheelEvent(java.awt.event.MouseWheelEvent, javax.swing.JLayer<? extends V>)
 
 
- 
processComponentEventProcesses component events occurring on theJLayeror any of its subcomponents.This method is not called unless component events are enabled for the JLayerobjects, thisLayerUIis set to. Component events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.COMPONENT_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- ComponentEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processFocusEventProcesses focus events occurring on theJLayeror any of its subcomponents.This method is not called unless focus events are enabled for the JLayerobjects, thisLayerUIis set to. Focus events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.FOCUS_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- FocusEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processKeyEventProcesses key events occurring on theJLayeror any of its subcomponents.This method is not called unless key events are enabled for the JLayerobjects, thisLayerUIis set to. Key events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.KEY_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- KeyEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processMouseEventProcesses mouse events occurring on theJLayeror any of its subcomponents.This method is not called unless mouse events are enabled for the JLayerobjects, thisLayerUIis set to. Mouse events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.MOUSE_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- MouseEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processMouseMotionEventProcesses mouse motion event occurring on theJLayeror any of its subcomponents.This method is not called unless mouse motion events are enabled for the JLayerobjects, thisLayerUIis set to. Mouse motion events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.MOUSE_MOTION_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- MouseEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processMouseWheelEventProcesses mouse wheel event occurring on theJLayeror any of its subcomponents.This method is not called unless mouse wheel events are enabled for the JLayerobjects, thisLayerUIis set to. Mouse wheel events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.MOUSE_WHEEL_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- MouseEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processInputMethodEventProcesses input event occurring on theJLayeror any of its subcomponents.This method is not called unless input events are enabled for the JLayerobjects, thisLayerUIis set to. Input events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.INPUT_METHOD_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- InputMethodEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processHierarchyEventProcesses hierarchy event occurring on theJLayeror any of its subcomponents.This method is not called unless hierarchy events are enabled for the JLayerobjects, thisLayerUIis set to. Hierarchy events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.HIERARCHY_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- HierarchyEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
processHierarchyBoundsEventProcesses hierarchy bounds event occurring on theJLayeror any of its subcomponents.This method is not called unless hierarchy bounds events are enabled for the JLayerobjects, thisLayerUIis set to. Hierarchy bounds events are enabled in the overriddeninstallUI(javax.swing.JComponent)method and should be disabled in theuninstallUI(javax.swing.JComponent)method after that.public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- Parameters:
- e- the- HierarchyEventto be processed
- l- the layer this- LayerUIinstance is set to
- See Also:
 
- 
updateUI- Parameters:
- l- the- JLayerwhich UI is updated
 
- 
installUIConfigures theJLayerthisLayerUIis set to. The default implementation registers the passedJLayercomponent as aPropertyChangeListenerfor the property changes of thisLayerUI.- Overrides:
- installUIin class- ComponentUI
- Parameters:
- c- the- JLayercomponent where this UI delegate is being installed
- See Also:
 
- 
uninstallUIReverses the configuration which was previously set in theinstallUI(JComponent)method. The default implementation unregisters the passedJLayercomponent as aPropertyChangeListenerfor the property changes of thisLayerUI.- Overrides:
- uninstallUIin class- ComponentUI
- Parameters:
- c- the component from which this UI delegate is being removed.
- See Also:
 
- 
addPropertyChangeListenerAdds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class.If listenerisnull, no exception is thrown and no action is performed.- Parameters:
- listener- the property change listener to be added
- See Also:
 
- 
removePropertyChangeListenerRemoves a PropertyChangeListener from the listener list. This method should be used to remove PropertyChangeListeners that were registered for all bound properties of this class.If listenerisnull, no exception is thrown and no action is performed.- Parameters:
- listener- the PropertyChangeListener to be removed
- See Also:
 
- 
getPropertyChangeListenersReturns an array of all the property change listeners registered on this component.- Returns:
- all of this ui's PropertyChangeListeners or an empty array if no property change listeners are currently registered
- See Also:
 
- 
addPropertyChangeListenerAdds a PropertyChangeListener to the listener list for a specific property.If propertyNameorlistenerisnull, no exception is thrown and no action is taken.- Parameters:
- propertyName- one of the property names listed above
- listener- the property change listener to be added
- See Also:
 
- 
removePropertyChangeListenerRemoves aPropertyChangeListenerfrom the listener list for a specific property. This method should be used to removePropertyChangeListeners that were registered for a specific bound property.If propertyNameorlistenerisnull, no exception is thrown and no action is taken.- Parameters:
- propertyName- a valid property name
- listener- the PropertyChangeListener to be removed
- See Also:
 
- 
getPropertyChangeListenersReturns an array of all the listeners which have been associated with the named property.- Parameters:
- propertyName- The name of the property being listened to
- Returns:
- all of the PropertyChangeListeners associated with the named property; if no such listeners have been added or ifpropertyNameisnull, an empty array is returned
- See Also:
 
- 
firePropertyChangeSupport for reporting bound property changes for Object properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.- Parameters:
- propertyName- the property whose value has changed
- oldValue- the property's previous value
- newValue- the property's new value
 
- 
applyPropertyChangeNotifies theLayerUIwhen any of its property are changed and enables updating everyJLayerthisLayerUIinstance is set to.- Parameters:
- evt- the PropertyChangeEvent generated by this- LayerUI
- l- the- JLayerthis LayerUI is set to
 
- 
getBaselineIf theJLayer's view component is notnull, this calls the view'sgetBaseline()method. Otherwise, the default implementation is called.- Overrides:
- getBaselinein class- ComponentUI
- Parameters:
- c-- JLayerto return baseline resize behavior for
- width- the width to get the baseline for
- height- the height to get the baseline for
- Returns:
- baseline or a value < 0 indicating there is no reasonable baseline
- See Also:
 
- 
getBaselineResizeBehaviorIf theJLayer's view component is notnull, this returns the result of the view'sgetBaselineResizeBehavior()method. Otherwise, the default implementation is called.- Overrides:
- getBaselineResizeBehaviorin class- ComponentUI
- Parameters:
- c-- JLayerto return baseline resize behavior for
- Returns:
- an enum indicating how the baseline changes as the component size changes
- See Also:
 
- 
doLayoutCauses the passed instance ofJLayerto lay out its components.- Parameters:
- l- the- JLayercomponent where this UI delegate is being installed
 
- 
getPreferredSizeIf theJLayer's view component is notnull, this returns the result of the view'sgetPreferredSize()method. Otherwise, the default implementation is used.- Overrides:
- getPreferredSizein class- ComponentUI
- Parameters:
- c-- JLayerto return preferred size for
- Returns:
- preferred size for the passed JLayer
- See Also:
 
- 
getMinimumSizeIf theJLayer's view component is notnull, this returns the result of the view'sgetMinimalSize()method. Otherwise, the default implementation is used.- Overrides:
- getMinimumSizein class- ComponentUI
- Parameters:
- c-- JLayerto return preferred size for
- Returns:
- minimal size for the passed JLayer
- See Also:
 
- 
getMaximumSizeIf theJLayer's view component is notnull, this returns the result of the view'sgetMaximumSize()method. Otherwise, the default implementation is used.- Overrides:
- getMaximumSizein class- ComponentUI
- Parameters:
- c-- JLayerto return preferred size for
- Returns:
- maximum size for the passed JLayer
- See Also:
 
- 
paintImmediatelyPaints the specified region in theJLayerthisLayerUIis set to, immediately.This method is to be overridden when the dirty region needs to be changed. The default implementation delegates its functionality to JComponent.paintImmediately(int, int, int, int).- Parameters:
- x- the x value of the region to be painted
- y- the y value of the region to be painted
- width- the width of the region to be painted
- height- the height of the region to be painted
- l- a- JLayercomponent
- See Also:
 
- 
imageUpdatepublic boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l) Delegates its functionality to the default implementation of theJLayer.imageUpdatemethod which is inherited fromJLayer's base classes.This method is to be overridden instead of JLayer.imageUpdate.Note: This method is usually called not on the Event Dispatching Thread. - Parameters:
- img- the image being observed
- infoflags- see imageUpdate for information
- x- the x coordinate
- y- the y coordinate
- w- the width
- h- the height
- l- a- JLayercomponent
- Returns:
- false if the infoflags indicate that the image is completely loaded; true otherwise
 
 
-