Package Summary  Overview Summary

class:LayerUI [NONE]

Type Parameters:
V - one of the super types of JLayer's view component
All Implemented Interfaces:
Serializable

public class LayerUI<V extends Component>
extends ComponentUI
implements Serializable
The base class for all 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:
JLayer.setUI(LayerUI), JLayer.setView(Component), JLayer.getView()

constructor:LayerUI() [NONE]

method:paint(java.awt.Graphics,javax.swing.JComponent) [NONE]

  • paint

    public void paint?(Graphics g, JComponent c)
    Paints the specified component. Subclasses should override this method and use the specified Graphics object to render the content of the component.

    The default implementation paints the passed component as is.

    Overrides:
    paint in class ComponentUI
    Parameters:
    g - the Graphics context in which to paint
    c - the component being painted
    See Also:
    ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
  • method:eventDispatched(java.awt.AWTEvent,javax.swing.JLayer) [NONE]

    eventDispatched

    public void eventDispatched?(AWTEvent e, JLayer<? extends V> l)
    Processes 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.

    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>)

    method:processComponentEvent(java.awt.event.ComponentEvent,javax.swing.JLayer) [NONE]

    processComponentEvent

    protected void processComponentEvent?(ComponentEvent e, JLayer<? extends V> l)
    Processes component events occurring on the 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);
     }
     

    Parameters:
    e - the ComponentEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processFocusEvent(java.awt.event.FocusEvent,javax.swing.JLayer) [NONE]

    processFocusEvent

    protected void processFocusEvent?(FocusEvent e, JLayer<? extends V> l)
    Processes focus events occurring on the 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);
     }
     

    Parameters:
    e - the FocusEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processKeyEvent(java.awt.event.KeyEvent,javax.swing.JLayer) [NONE]

    processKeyEvent

    protected void processKeyEvent?(KeyEvent e, JLayer<? extends V> l)
    Processes key events occurring on the 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);
     }
     

    Parameters:
    e - the KeyEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processMouseEvent(java.awt.event.MouseEvent,javax.swing.JLayer) [NONE]

    processMouseEvent

    protected void processMouseEvent?(MouseEvent e, JLayer<? extends V> l)
    Processes mouse events occurring on the 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);
     }
     

    Parameters:
    e - the MouseEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processMouseMotionEvent(java.awt.event.MouseEvent,javax.swing.JLayer) [NONE]

    processMouseMotionEvent

    protected void processMouseMotionEvent?(MouseEvent e, JLayer<? extends V> l)
    Processes mouse motion event occurring on the 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);
     }
     

    Parameters:
    e - the MouseEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processMouseWheelEvent(java.awt.event.MouseWheelEvent,javax.swing.JLayer) [NONE]

    processMouseWheelEvent

    protected void processMouseWheelEvent?(MouseWheelEvent e, JLayer<? extends V> l)
    Processes mouse wheel event occurring on the 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);
     }
     

    Parameters:
    e - the MouseEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processInputMethodEvent(java.awt.event.InputMethodEvent,javax.swing.JLayer) [NONE]

    processInputMethodEvent

    protected void processInputMethodEvent?(InputMethodEvent e, JLayer<? extends V> l)
    Processes input event occurring on the 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);
     }
     

    Parameters:
    e - the InputMethodEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processHierarchyEvent(java.awt.event.HierarchyEvent,javax.swing.JLayer) [NONE]

    processHierarchyEvent

    protected void processHierarchyEvent?(HierarchyEvent e, JLayer<? extends V> l)
    Processes hierarchy event occurring on the 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);
     }
     

    Parameters:
    e - the HierarchyEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:processHierarchyBoundsEvent(java.awt.event.HierarchyEvent,javax.swing.JLayer) [NONE]

    processHierarchyBoundsEvent

    protected void processHierarchyBoundsEvent?(HierarchyEvent e, JLayer<? extends V> l)
    Processes hierarchy bounds event occurring on the 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);
     }
     

    Parameters:
    e - the HierarchyEvent to be processed
    l - the layer this LayerUI instance is set to
    See Also:
    JLayer.setLayerEventMask(long), installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)

    method:updateUI(javax.swing.JLayer) [NONE]

    updateUI

    public void updateUI?(JLayer<? extends V> l)
    Invoked when JLayer.updateUI() is called by the JLayer this LayerUI is set to.
    Parameters:
    l - the JLayer which UI is updated

    method:installUI(javax.swing.JComponent) [NONE]

    installUI

    public void installUI?(JComponent c)
    Configures the JLayer this LayerUI is set to. The default implementation registers the passed JLayer component as a PropertyChangeListener for the property changes of this LayerUI.
    Overrides:
    installUI in class ComponentUI
    Parameters:
    c - the JLayer component where this UI delegate is being installed
    See Also:
    ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

    method:uninstallUI(javax.swing.JComponent) [NONE]

    uninstallUI

    public void uninstallUI?(JComponent c)
    Reverses the configuration which was previously set in the installUI(JComponent) method. The default implementation unregisters the passed JLayer component as a PropertyChangeListener for the property changes of this LayerUI.
    Overrides:
    uninstallUI in class ComponentUI
    Parameters:
    c - the component from which this UI delegate is being removed.
    See Also:
    ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

    method:addPropertyChangeListener(java.beans.PropertyChangeListener) [NONE]

    addPropertyChangeListener

    public void addPropertyChangeListener?(PropertyChangeListener listener)
    Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class.

    If listener is null, no exception is thrown and no action is performed.

    Parameters:
    listener - the property change listener to be added
    See Also:
    removePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), addPropertyChangeListener(String, java.beans.PropertyChangeListener)

    method:removePropertyChangeListener(java.beans.PropertyChangeListener) [NONE]

    removePropertyChangeListener

    public void removePropertyChangeListener?(PropertyChangeListener listener)
    Removes 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 listener is null, no exception is thrown and no action is performed.

    Parameters:
    listener - the PropertyChangeListener to be removed
    See Also:
    addPropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), removePropertyChangeListener(String, PropertyChangeListener)

    method:getPropertyChangeListeners() [NONE]

    getPropertyChangeListeners

    public PropertyChangeListener[] getPropertyChangeListeners()
    Returns 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:
    addPropertyChangeListener(java.beans.PropertyChangeListener), removePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(String)

    method:addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener) [NONE]

    addPropertyChangeListener

    public void addPropertyChangeListener?(String propertyName, PropertyChangeListener listener)
    Adds a PropertyChangeListener to the listener list for a specific property.

    If propertyName or listener is null, 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:
    removePropertyChangeListener(String, PropertyChangeListener) , getPropertyChangeListeners(String), addPropertyChangeListener(String, PropertyChangeListener)

    method:removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener) [NONE]

    removePropertyChangeListener

    public void removePropertyChangeListener?(String propertyName, PropertyChangeListener listener)
    Removes a 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.

    Parameters:
    propertyName - a valid property name
    listener - the PropertyChangeListener to be removed
    See Also:
    addPropertyChangeListener(String, PropertyChangeListener) , getPropertyChangeListeners(String), removePropertyChangeListener(PropertyChangeListener)

    method:getPropertyChangeListeners(java.lang.String) [NONE]

    getPropertyChangeListeners

    public PropertyChangeListener[] getPropertyChangeListeners?(String propertyName)
    Returns 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 if propertyName is null, an empty array is returned
    See Also:
    addPropertyChangeListener(String, PropertyChangeListener) , removePropertyChangeListener(String, PropertyChangeListener) , getPropertyChangeListeners()

    method:firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) [NONE]

    firePropertyChange

    protected void firePropertyChange?(String propertyName, Object oldValue, Object newValue)
    Support 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

    method:applyPropertyChange(java.beans.PropertyChangeEvent,javax.swing.JLayer) [NONE]

    applyPropertyChange

    public void applyPropertyChange?(PropertyChangeEvent evt, JLayer<? extends V> l)
    Notifies the LayerUI when any of its property are changed and enables updating every JLayer this LayerUI instance is set to.
    Parameters:
    evt - the PropertyChangeEvent generated by this LayerUI
    l - the JLayer this LayerUI is set to

    method:getBaseline(javax.swing.JComponent,int,int) [NONE]

    getBaseline

    public int getBaseline?(JComponent c, int width, int height)
    If the JLayer's view component is not null, this calls the view's getBaseline() method. Otherwise, the default implementation is called.
    Overrides:
    getBaseline in class ComponentUI
    Parameters:
    c - JLayer to 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:
    JComponent.getBaseline(int,int)

    method:getBaselineResizeBehavior(javax.swing.JComponent) [NONE]

    getBaselineResizeBehavior

    public Component.BaselineResizeBehavior getBaselineResizeBehavior?(JComponent c)
    If the JLayer's view component is not null, this returns the result of the view's getBaselineResizeBehavior() method. Otherwise, the default implementation is called.
    Overrides:
    getBaselineResizeBehavior in class ComponentUI
    Parameters:
    c - JLayer to return baseline resize behavior for
    Returns:
    an enum indicating how the baseline changes as the component size changes
    See Also:
    JComponent.getBaseline(int, int)

    method:doLayout(javax.swing.JLayer) [NONE]

    doLayout

    public void doLayout?(JLayer<? extends V> l)
    Causes the passed instance of JLayer to lay out its components.
    Parameters:
    l - the JLayer component where this UI delegate is being installed

    method:getPreferredSize(javax.swing.JComponent) [NONE]

    getPreferredSize

    public Dimension getPreferredSize?(JComponent c)
    If the JLayer's view component is not null, this returns the result of the view's getPreferredSize() method. Otherwise, the default implementation is used.
    Overrides:
    getPreferredSize in class ComponentUI
    Parameters:
    c - JLayer to return preferred size for
    Returns:
    preferred size for the passed JLayer
    See Also:
    JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

    method:getMinimumSize(javax.swing.JComponent) [NONE]

    getMinimumSize

    public Dimension getMinimumSize?(JComponent c)
    If the JLayer's view component is not null, this returns the result of the view's getMinimalSize() method. Otherwise, the default implementation is used.
    Overrides:
    getMinimumSize in class ComponentUI
    Parameters:
    c - JLayer to return preferred size for
    Returns:
    minimal size for the passed JLayer
    See Also:
    JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)

    method:getMaximumSize(javax.swing.JComponent) [NONE]

    getMaximumSize

    public Dimension getMaximumSize?(JComponent c)
    If the JLayer's view component is not null, this returns the result of the view's getMaximumSize() method. Otherwise, the default implementation is used.
    Overrides:
    getMaximumSize in class ComponentUI
    Parameters:
    c - JLayer to return preferred size for
    Returns:
    maximum size for the passed JLayer
    See Also:
    JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)

    method:paintImmediately(int,int,int,int,javax.swing.JLayer) [NONE]

    paintImmediately

    public void paintImmediately?(int x, int y, int width, int height, JLayer<? extends V> l)
    Paints the specified region in the 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) .

    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 JLayer component
    See Also:
    JComponent.paintImmediately(int, int, int, int)

    method:imageUpdate(java.awt.Image,int,int,int,int,int,javax.swing.JLayer) [NONE]

    imageUpdate

    public 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 the JLayer.imageUpdate method which is inherited from JLayer'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 JLayer component
    Returns:
    false if the infoflags indicate that the image is completely loaded; true otherwise

    © 2020 Oracle Corporation and/or its affiliates