V - one of the super types of JLayer's view componentpublic class LayerUI<V extends Component> extends ComponentUI implements 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.
JLayer.setUI(LayerUI), 
JLayer.setView(Component), 
JLayer.getView()| Constructor and Description | 
|---|
| LayerUI() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addPropertyChangeListener(PropertyChangeListener listener)Adds a PropertyChangeListener to the listener list. | 
| void | addPropertyChangeListener(String propertyName,
                         PropertyChangeListener listener)Adds a PropertyChangeListener to the listener list for a specific
 property. | 
| void | applyPropertyChange(PropertyChangeEvent evt,
                   JLayer<? extends V> l)Notifies the  LayerUIwhen any of its property are changed
 and enables updating everyJLayerthisLayerUIinstance is set to. | 
| void | doLayout(JLayer<? extends V> l)Causes the passed instance of  JLayerto lay out its components. | 
| void | eventDispatched(AWTEvent e,
               JLayer<? extends V> l)Processes  AWTEvents forJLayerand all its descendants to thisLayerUIinstance. | 
| protected void | firePropertyChange(String propertyName,
                  Object oldValue,
                  Object newValue)Support for reporting bound property changes for Object properties. | 
| int | getBaseline(JComponent c,
           int width,
           int height)If the  JLayer's view component is notnull,
 this calls the view'sgetBaseline()method. | 
| Component.BaselineResizeBehavior | getBaselineResizeBehavior(JComponent c)If the  JLayer's view component is notnull,
 this returns the result of the view'sgetBaselineResizeBehavior()method. | 
| Dimension | getMaximumSize(JComponent c)If the  JLayer's view component is notnull,
 this returns the result of  the view'sgetMaximumSize()method. | 
| Dimension | getMinimumSize(JComponent c)If the  JLayer's view component is notnull,
 this returns the result of  the view'sgetMinimalSize()method. | 
| Dimension | getPreferredSize(JComponent c)If the  JLayer's view component is notnull,
 this returns the result of  the view'sgetPreferredSize()method. | 
| PropertyChangeListener[] | getPropertyChangeListeners()Returns an array of all the property change listeners
 registered on this component. | 
| PropertyChangeListener[] | getPropertyChangeListeners(String propertyName)Returns an array of all the listeners which have been associated
 with the named property. | 
| void | installUI(JComponent c)Configures the  JLayerthisLayerUIis set to. | 
| void | paint(Graphics g,
     JComponent c)Paints the specified component. | 
| void | paintImmediately(int x,
                int y,
                int width,
                int height,
                JLayer<? extends V> l)Paints the specified region in the  JLayerthisLayerUIis set to, immediately. | 
| protected void | processComponentEvent(ComponentEvent e,
                     JLayer<? extends V> l)Processes component events occurring on the  JLayeror any of its subcomponents. | 
| protected void | processFocusEvent(FocusEvent e,
                 JLayer<? extends V> l)Processes focus events occurring on the  JLayeror any of its subcomponents. | 
| protected void | processHierarchyBoundsEvent(HierarchyEvent e,
                           JLayer<? extends V> l)Processes hierarchy bounds event occurring on the  JLayeror any of its subcomponents. | 
| protected void | processHierarchyEvent(HierarchyEvent e,
                     JLayer<? extends V> l)Processes hierarchy event occurring on the  JLayeror any of its subcomponents. | 
| protected void | processInputMethodEvent(InputMethodEvent e,
                       JLayer<? extends V> l)Processes input event occurring on the  JLayeror any of its subcomponents. | 
| protected void | processKeyEvent(KeyEvent e,
               JLayer<? extends V> l)Processes key events occurring on the  JLayeror any of its subcomponents. | 
| protected void | processMouseEvent(MouseEvent e,
                 JLayer<? extends V> l)Processes mouse events occurring on the  JLayeror any of its subcomponents. | 
| protected void | processMouseMotionEvent(MouseEvent e,
                       JLayer<? extends V> l)Processes mouse motion event occurring on the  JLayeror any of its subcomponents. | 
| protected void | processMouseWheelEvent(MouseWheelEvent e,
                      JLayer<? extends V> l)Processes mouse wheel event occurring on the  JLayeror any of its subcomponents. | 
| void | removePropertyChangeListener(PropertyChangeListener listener)Removes a PropertyChangeListener from the listener list. | 
| void | removePropertyChangeListener(String propertyName,
                            PropertyChangeListener listener)Removes a  PropertyChangeListenerfrom the listener
 list for a specific property. | 
| void | uninstallUI(JComponent c)Reverses the configuration which was previously set
 in the  installUI(JComponent)method. | 
| void | updateUI(JLayer<? extends V> l) | 
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, updatepublic void paint(Graphics g, JComponent c)
Graphics object to
 render the content of the component.
 The default implementation paints the passed component as is.
paint in class ComponentUIg - the Graphics context in which to paintc - the component being paintedComponentUI.update(java.awt.Graphics, javax.swing.JComponent)public void eventDispatched(AWTEvent e, JLayer<? extends V> l)
AWTEvents for JLayer
 and all its descendants to this LayerUI instance.
 
 To enable the AWTEvents of a particular type,
 you call JLayer.setLayerEventMask(long)
 in installUI(javax.swing.JComponent)
 and set the layer event mask to 0
 in uninstallUI(javax.swing.JComponent) after that.
 By default this  method calls the appropriate
 process<event type>Event
 method for the given class of event.
 
 Note: Events are processed only for displayable JLayers.
e - the event to be dispatchedl - the layer this LayerUI is set toJLayer.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>)protected void processComponentEvent(ComponentEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless component events are
 enabled for the JLayer objects, this LayerUI is set to.
 Component events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the ComponentEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processFocusEvent(FocusEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless focus events are
 enabled for the JLayer objects, this LayerUI is set to.
 Focus events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the FocusEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processKeyEvent(KeyEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless key events are
 enabled for the JLayer objects, this LayerUI is set to.
 Key events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the KeyEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processMouseEvent(MouseEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless mouse events are
 enabled for the JLayer objects, this LayerUI is set to.
 Mouse events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the MouseEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processMouseMotionEvent(MouseEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless mouse motion events are
 enabled for the JLayer objects, this LayerUI is set to.
 Mouse motion events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the MouseEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processMouseWheelEvent(MouseWheelEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless mouse wheel events are
 enabled for the JLayer objects, this LayerUI is set to.
 Mouse wheel events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the MouseEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processInputMethodEvent(InputMethodEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless input events are
 enabled for the JLayer objects, this LayerUI is set to.
 Input events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the InputMethodEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processHierarchyEvent(HierarchyEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless hierarchy events are
 enabled for the JLayer objects, this LayerUI is set to.
 Hierarchy events are enabled in the overridden installUI(javax.swing.JComponent) method
 and should be disabled in the uninstallUI(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);
 }
 e - the HierarchyEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)protected void processHierarchyBoundsEvent(HierarchyEvent e, JLayer<? extends V> l)
JLayer
 or any of its subcomponents.
 
 This method is not called unless hierarchy bounds events are
 enabled for the JLayer objects, this LayerUI is set to.
 Hierarchy bounds events are enabled in the overridden installUI(javax.swing.JComponent)
 method and should be disabled in the uninstallUI(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);
 }
 e - the HierarchyEvent to be processedl - the layer this LayerUI instance is set toJLayer.setLayerEventMask(long), 
installUI(javax.swing.JComponent), 
uninstallUI(javax.swing.JComponent)public void installUI(JComponent c)
JLayer this LayerUI is set to.
 The default implementation registers the passed JLayer component
 as a PropertyChangeListener for the property changes of this LayerUI.installUI in class ComponentUIc - the JLayer component where this UI delegate is being installedComponentUI.uninstallUI(javax.swing.JComponent), 
JComponent.setUI(javax.swing.plaf.ComponentUI), 
JComponent.updateUI()public void uninstallUI(JComponent c)
installUI(JComponent) method.
 The default implementation unregisters the passed JLayer component
 as a PropertyChangeListener for the property changes of this LayerUI.uninstallUI in class ComponentUIc - the component from which this UI delegate is being removed.ComponentUI.installUI(javax.swing.JComponent), 
JComponent.updateUI()public void addPropertyChangeListener(PropertyChangeListener listener)
 If listener is null,
 no exception is thrown and no action is performed.
listener - the property change listener to be addedremovePropertyChangeListener(java.beans.PropertyChangeListener), 
getPropertyChangeListeners(), 
addPropertyChangeListener(String, java.beans.PropertyChangeListener)public void removePropertyChangeListener(PropertyChangeListener listener)
 If listener is null,
 no exception is thrown and no action is performed.
listener - the PropertyChangeListener to be removedaddPropertyChangeListener(java.beans.PropertyChangeListener), 
getPropertyChangeListeners(), 
removePropertyChangeListener(String, PropertyChangeListener)public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListeners
         or an empty array if no property change
         listeners are currently registeredaddPropertyChangeListener(java.beans.PropertyChangeListener), 
removePropertyChangeListener(java.beans.PropertyChangeListener), 
getPropertyChangeListeners(String)public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
 If propertyName or listener is null,
 no exception is thrown and no action is taken.
propertyName - one of the property names listed abovelistener - the property change listener to be addedremovePropertyChangeListener(String, PropertyChangeListener), 
getPropertyChangeListeners(String), 
addPropertyChangeListener(String, PropertyChangeListener)public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener from the listener
 list for a specific property. This method should be used to remove
 PropertyChangeListeners
 that were registered for a specific bound property.
 
 If propertyName or listener is null,
 no exception is thrown and no action is taken.
propertyName - a valid property namelistener - the PropertyChangeListener to be removedaddPropertyChangeListener(String, PropertyChangeListener), 
getPropertyChangeListeners(String), 
removePropertyChangeListener(PropertyChangeListener)public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
propertyName - The name of the property being listened toPropertyChangeListeners associated with
         the named property; if no such listeners have been added or
         if propertyName is null, an empty
         array is returnedaddPropertyChangeListener(String, PropertyChangeListener), 
removePropertyChangeListener(String, PropertyChangeListener), 
getPropertyChangeListeners()protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
propertyName - the property whose value has changedoldValue - the property's previous valuenewValue - the property's new valuepublic void applyPropertyChange(PropertyChangeEvent evt, JLayer<? extends V> l)
LayerUI when any of its property are changed
 and enables updating every JLayer
 this LayerUI instance is set to.evt - the PropertyChangeEvent generated by this LayerUIl - the JLayer this LayerUI is set topublic int getBaseline(JComponent c, int width, int height)
JLayer's view component is not null,
 this calls the view's getBaseline() method.
 Otherwise, the default implementation is called.getBaseline in class ComponentUIc - JLayer to return baseline resize behavior forwidth - the width to get the baseline forheight - the height to get the baseline forJComponent.getBaseline(int,int)public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
JLayer's view component is not null,
 this returns the result of the view's getBaselineResizeBehavior() method.
 Otherwise, the default implementation is called.getBaselineResizeBehavior in class ComponentUIc - JLayer to return baseline resize behavior forJComponent.getBaseline(int, int)public void doLayout(JLayer<? extends V> l)
JLayer to lay out its components.l - the JLayer component where this UI delegate is being installedpublic Dimension getPreferredSize(JComponent c)
JLayer's view component is not null,
 this returns the result of  the view's getPreferredSize() method.
 Otherwise, the default implementation is used.getPreferredSize in class ComponentUIc - JLayer to return preferred size forJLayerJComponent.getPreferredSize(), 
LayoutManager.preferredLayoutSize(java.awt.Container)public Dimension getMinimumSize(JComponent c)
JLayer's view component is not null,
 this returns the result of  the view's getMinimalSize() method.
 Otherwise, the default implementation is used.getMinimumSize in class ComponentUIc - JLayer to return preferred size forJLayerJComponent.getMinimumSize(), 
LayoutManager.minimumLayoutSize(java.awt.Container), 
ComponentUI.getPreferredSize(javax.swing.JComponent)public Dimension getMaximumSize(JComponent c)
JLayer's view component is not null,
 this returns the result of  the view's getMaximumSize() method.
 Otherwise, the default implementation is used.getMaximumSize in class ComponentUIc - JLayer to return preferred size forJLayerJComponent.getMaximumSize(), 
LayoutManager2.maximumLayoutSize(java.awt.Container)public void paintImmediately(int x,
                             int y,
                             int width,
                             int height,
                             JLayer<? extends V> l)
JLayer this LayerUI is 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).
x - the x value of the region to be paintedy - the y value of the region to be paintedwidth - the width of the region to be paintedheight - the height of the region to be paintedJComponent.paintImmediately(int, int, int, int) Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.