Spec-Zone .ru
спецификации, руководства, описания, API
Please note that the specifications and other information contained herein are not final and are subject to change. The information is being made available to you solely for purpose of evaluation.

Java™ Platform
Standard Ed. 7

DRAFT ea-b118

javax.swing.plaf
Class LayerUI<V extends Component>

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.LayerUI<V>
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 performes 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 Summary
Constructor and Description
LayerUI()
           
 
Method Summary
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 LayerUI when any of its property are changed and enables updating every JLayer this LayerUI instance is set to.
 void doLayout(JLayer<? extends V> l)
          Causes the passed instance of JLayer to lay out its components.
 void eventDispatched(AWTEvent e, JLayer<? extends V> l)
          Processes AWTEvents for JLayer and all its descendants to this LayerUI instance.
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 not null, this calls the view's getBaseline() method.
 Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
          If the JLayer's view component is not null, this returns the result of the view's getBaselineResizeBehavior() method.
 Dimension getMaximumSize(JComponent c)
          If the JLayer's view component is not null, this returns the result of the view's getMaximumSize() method.
 Dimension getMinimumSize(JComponent c)
          If the JLayer's view component is not null, this returns the result of the view's getMinimalSize() method.
 Dimension getPreferredSize(JComponent c)
          If the JLayer's view component is not null, this returns the result of the view's getPreferredSize() 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 JLayer this LayerUI is set to.
 void paint(Graphics g, JComponent c)
          Paints the specified component.
protected  void processComponentEvent(ComponentEvent e, JLayer<? extends V> l)
          Processes component events occurring on the JLayer or any of its subcomponents.
protected  void processFocusEvent(FocusEvent e, JLayer<? extends V> l)
          Processes focus events occurring on the JLayer or any of its subcomponents.
protected  void processHierarchyBoundsEvent(HierarchyEvent e, JLayer<? extends V> l)
          Processes hierarchy bounds event occurring on the JLayer or any of its subcomponents.
protected  void processHierarchyEvent(HierarchyEvent e, JLayer<? extends V> l)
          Processes hierarchy event occurring on the JLayer or any of its subcomponents.
protected  void processInputMethodEvent(InputMethodEvent e, JLayer<? extends V> l)
          Processes input event occurring on the JLayer or any of its subcomponents.
protected  void processKeyEvent(KeyEvent e, JLayer<? extends V> l)
          Processes key events occurring on the JLayer or any of its subcomponents.
protected  void processMouseEvent(MouseEvent e, JLayer<? extends V> l)
          Processes mouse events occurring on the JLayer or any of its subcomponents.
protected  void processMouseMotionEvent(MouseEvent e, JLayer<? extends V> l)
          Processes mouse motion event occurring on the JLayer or any of its subcomponents.
protected  void processMouseWheelEvent(MouseWheelEvent e, JLayer<? extends V> l)
          Processes mouse wheel event occurring on the JLayer or any of its subcomponents.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Removes a PropertyChangeListener from the listener list.
 void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
          Removes a PropertyChangeListener from the listener list for a specific property.
 void repaint(long tm, int x, int y, int width, int height, JLayer<? extends V> l)
          Adds the specified region to the dirty region list if the component is showing.
 void uninstallUI(JComponent c)
          Reverses the configuration which was previously set in the installUI(JComponent) method.
 void updateUI(JLayer<? extends V> l)
          Invoked when JLayer.updateUI() is called by the JLayer this LayerUI is set to.
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LayerUI

public LayerUI()
Method Detail

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)

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&lt;event&nbsp;type&gt;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 Vgt;), processFocusEvent(java.awt.event.FocusEvent, javax.swing.JLayer<? extends Vgt;), processKeyEvent(java.awt.event.KeyEvent, javax.swing.JLayer<? extends Vgt;), processMouseEvent(java.awt.event.MouseEvent, javax.swing.JLayer<? extends Vgt;), processMouseMotionEvent(java.awt.event.MouseEvent, javax.swing.JLayer<? extends Vgt;), processInputMethodEvent(java.awt.event.InputMethodEvent, javax.swing.JLayer<? extends Vgt;), processHierarchyEvent(java.awt.event.HierarchyEvent, javax.swing.JLayer<? extends Vgt;), processMouseWheelEvent(java.awt.event.MouseWheelEvent, javax.swing.JLayer<? extends Vgt;)

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

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

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

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

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

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

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

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

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

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

installUI

public void installUI(JComponent c)
Configures the JLayer this LayerUI is set to. The default implementation registers the LayerUI as a property change listener for the passed JLayer component.

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

uninstallUI

public void uninstallUI(JComponent c)
Reverses the configuration which was previously set in the installUI(JComponent) method. The default implementation unregisters the property change listener for the passed JLayer component.

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

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)

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)

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)

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)

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)

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

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

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

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)

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)

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

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)

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)

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:
maximun size for the passed JLayer
See Also:
JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height,
                    JLayer<? extends V> l)
Adds the specified region to the dirty region list if the component is showing. The component will be repainted after all of the currently pending events have been dispatched.

This method is to be overridden when the dirty region needs to be changed.

Parameters:
tm - this parameter is not used
x - the x value of the dirty region
y - the y value of the dirty region
width - the width of the dirty region
height - the height of the dirty region
See Also:
Component.isShowing(), RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)

Java™ Platform
Standard Ed. 7

DRAFT ea-b118

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, 2010, Oracle Corporation. All rights reserved.
DRAFT ea-b118

Scripting on this page tracks web page traffic, but does not change the content in any way.