| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLayeredPane
public class JLayeredPane
JLayeredPane adds depth to a JFC/Swing container,
 allowing components to overlap each other when needed.
 An Integer object specifies each component's depth in the
 container, where higher-numbered components sit "on top" of other 
 components.
 For task-oriented documentation and examples of using layered panes see
 How to Use a Layered Pane,
 a section in The Java Tutorial.
 
| 
 | 
JLayeredPane divides the depth-range
 into several different layers. Putting a component into one of those
 layers makes it easy to ensure that components overlap properly,
 without having to worry about specifying numbers for specific depths:
 JLayeredPane methods moveToFront(Component), 
 moveToBack(Component) and setPosition can be used 
 to reposition a component within its layer. The setLayer method 
 can also be used to change the component's current layer.
 JLayeredPane manages its list of children like
 Container, but allows for the definition of a several
 layers within itself. Children in the same layer are managed exactly
 like the normal Container object,
 with the added feature that when children components overlap, children 
 in higher layers display above the children in lower layers.
   
 Each layer is a distinct integer number. The layer attribute can be set 
 on a Component by passing an Integer
 object during the add call.
 For example:
 
     layeredPane.add(child, JLayeredPane.DEFAULT_LAYER);
 or
     layeredPane.add(child, new Integer(10));
 
 The layer attribute can also be set on a Component by calling
     layeredPaneParent.setLayer(child, 10)
 on the JLayeredPane that is the parent of component. The layer
 should be set before adding the child to the parent.
 Higher number layers display above lower number layers. So, using numbers for the layers and letters for individual components, a representative list order would look like this:
       5a, 5b, 5c, 2a, 2b, 2c, 1a 
 where the leftmost components are closest to the top of the display.
 
 A component can be moved to the top or bottom position within its
 layer by calling moveToFront or moveToBack.
 
The position of a component within a layer can also be specified directly. Valid positions range from 0 up to one less than the number of components in that layer. A value of -1 indicates the bottommost position. A value of 0 indicates the topmost position. Unlike layer numbers, higher position values are lower in the display.
Note: This sequence (defined by java.awt.Container) is the reverse of the layer numbering sequence. Usually though, you will useHere are some examples using the method add(Component, layer, position): Calling add(5x, 5, -1) results in:moveToFront,moveToBack, andsetLayer.
       5a, 5b, 5c, 5x, 2a, 2b, 2c, 1a 
 Calling add(5z, 5, 2) results in:
       5a, 5b, 5z, 5c, 5x, 2a, 2b, 2c, 1a 
 Calling add(3a, 3, 7) results in:
       5a, 5b, 5z, 5c, 5x, 3a, 2a, 2b, 2c, 1a 
 Using normal paint/event mechanics results in 1a appearing at the bottom
 and 5a being above all other components.
 Note: that these layers are simply a logical construct and LayoutManagers will affect all child components of this container without regard for layer settings.
 Warning:
 Serialized objects of this class will not be compatible with
 future Swing releases. The current serialization support is
 appropriate for short term storage or RMI between applications running
 the same version of Swing.  As of 1.4, support for long term storage
 of all JavaBeansTM
 has been added to the java.beans package.
 Please see XMLEncoder.
| Nested Class Summary | |
|---|---|
| protected  class | JLayeredPane.AccessibleJLayeredPaneThis class implements accessibility support for the JLayeredPaneclass. | 
| Nested classes/interfaces inherited from class javax.swing.JComponent | 
|---|
| JComponent.AccessibleJComponent | 
| Nested classes/interfaces inherited from class java.awt.Container | 
|---|
| Container.AccessibleAWTContainer | 
| Nested classes/interfaces inherited from class java.awt.Component | 
|---|
| Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy | 
| Field Summary | |
|---|---|
| static Integer | DEFAULT_LAYERConvenience object defining the Default layer. | 
| static Integer | DRAG_LAYERConvenience object defining the Drag layer. | 
| static Integer | FRAME_CONTENT_LAYERConvenience object defining the Frame Content layer. | 
| static String | LAYER_PROPERTYBound property | 
| static Integer | MODAL_LAYERConvenience object defining the Modal layer. | 
| static Integer | PALETTE_LAYERConvenience object defining the Palette layer. | 
| static Integer | POPUP_LAYERConvenience object defining the Popup layer. | 
| Fields inherited from class javax.swing.JComponent | 
|---|
| accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW | 
| Fields inherited from class java.awt.Component | 
|---|
| BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT | 
| Fields inherited from interface java.awt.image.ImageObserver | 
|---|
| ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH | 
| Constructor Summary | |
|---|---|
| JLayeredPane()Create a new JLayeredPane | |
| Method Summary | |
|---|---|
| protected  void | addImpl(Component comp,
        Object constraints,
        int index)Adds the specified component to this container at the specified index. | 
|  AccessibleContext | getAccessibleContext()Gets the AccessibleContext associated with this JLayeredPane. | 
|  int | getComponentCountInLayer(int layer)Returns the number of children currently in the specified layer. | 
|  Component[] | getComponentsInLayer(int layer)Returns an array of the components in the specified layer. | 
| protected  Hashtable<Component,Integer> | getComponentToLayer()Returns the hashtable that maps components to layers. | 
|  int | getIndexOf(Component c)Returns the index of the specified Component. | 
|  int | getLayer(Component c)Returns the layer attribute for the specified Component. | 
| static int | getLayer(JComponent c)Gets the layer property for a JComponent, it does not cause any side effects like setLayer(). | 
| static JLayeredPane | getLayeredPaneAbove(Component c)Convenience method that returns the first JLayeredPane which contains the specified component. | 
| protected  Integer | getObjectForLayer(int layer)Returns the Integer object associated with a specified layer. | 
|  int | getPosition(Component c)Get the relative position of the component within its layer. | 
|  int | highestLayer()Returns the highest layer value from all current children. | 
| protected  int | insertIndexForLayer(int layer,
                    int position)Primitive method that determines the proper location to insert a new child based on layer and position requests. | 
|  boolean | isOptimizedDrawingEnabled()Returns false if components in the pane can overlap, which makes optimized drawing impossible. | 
|  int | lowestLayer()Returns the lowest layer value from all current children. | 
|  void | moveToBack(Component c)Moves the component to the bottom of the components in its current layer (position -1). | 
|  void | moveToFront(Component c)Moves the component to the top of the components in its current layer (position 0). | 
|  void | paint(Graphics g)Paints this JLayeredPane within the specified graphics context. | 
| protected  String | paramString()Returns a string representation of this JLayeredPane. | 
| static void | putLayer(JComponent c,
         int layer)Sets the layer property on a JComponent. | 
|  void | remove(int index)Remove the indexed component from this pane. | 
|  void | removeAll()Removes all the components from this container. | 
|  void | setLayer(Component c,
         int layer)Sets the layer attribute on the specified component, making it the bottommost component in that layer. | 
|  void | setLayer(Component c,
         int layer,
         int position)Sets the layer attribute for the specified component and also sets its position within that layer. | 
|  void | setPosition(Component c,
            int position)Moves the component to positionwithin its current layer,
 where 0 is the topmost position within the layer and -1 is the bottommost
 position. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
public static final Integer DEFAULT_LAYER
public static final Integer PALETTE_LAYER
public static final Integer MODAL_LAYER
public static final Integer POPUP_LAYER
public static final Integer DRAG_LAYER
public static final Integer FRAME_CONTENT_LAYER
JFramepublic static final String LAYER_PROPERTY
| Constructor Detail | 
|---|
public JLayeredPane()
| Method Detail | 
|---|
protected void addImpl(Component comp,
                       Object constraints,
                       int index)
ContaineraddLayoutComponent
 method.
 
 The constraints are
 defined by the particular layout manager being used.  For 
 example, the BorderLayout class defines five
 constraints: BorderLayout.NORTH,
 BorderLayout.SOUTH, BorderLayout.EAST,
 BorderLayout.WEST, and BorderLayout.CENTER.
 
 The GridBagLayout class requires a
 GridBagConstraints object.  Failure to pass
 the correct type of constraints object results in an
 IllegalArgumentException.
 
 If the layout manager implements both the LayoutManager
 and LayoutManager2 interfaces, the 
 LayoutManager2 methods are called.
 
Note that if the component already exists in this container or a child of this container, it is removed from that container before being added to this container.
This is the method to override if a program needs to track every add request to a container as all other add methods defer to this one. An overriding method should usually include a call to the superclass's version of the method:
 super.addImpl(comp, constraints, index)
 
 
addImpl in class Containercomp - the component to be addedconstraints - an object expressing layout constraints 
                 for this componentindex - the position in the container's list at which to
                 insert the component, where -1 
                 means append to the endContainer.add(Component), 
Container.add(Component, int), 
Container.add(Component, java.lang.Object), 
LayoutManager, 
LayoutManager2public void remove(int index)
remove in class Containerindex - an int specifying the component to removegetIndexOf(java.awt.Component)public void removeAll()
removeAll in class ContainerContainer.add(java.awt.Component), 
Container.remove(int)public boolean isOptimizedDrawingEnabled()
isOptimizedDrawingEnabled in class JComponentJComponent.isOptimizedDrawingEnabled()
public static void putLayer(JComponent c,
                            int layer)
c - the JComponent to movelayer - an int specifying the layer to move it tosetLayer(java.awt.Component, int)public static int getLayer(JComponent c)
c - the JComponent to check
public static JLayeredPane getLayeredPaneAbove(Component c)
c - the Component to check
JFrame, 
JRootPane
public void setLayer(Component c,
                     int layer)
c - the Component to set the layer forlayer - an int specifying the layer to set, where 
              lower numbers are closer to the bottom
public void setLayer(Component c,
                     int layer,
                     int position)
c - the Component to set the layer forlayer - an int specifying the layer to set, where 
                  lower numbers are closer to the bottomposition - an int specifying the position within the
                  layer, where 0 is the topmost position and -1
                  is the bottommost positionpublic int getLayer(Component c)
c - the Component to check
public int getIndexOf(Component c)
c - the Component to check
public void moveToFront(Component c)
c - the Component to movesetPosition(Component, int)public void moveToBack(Component c)
c - the Component to movesetPosition(Component, int)
public void setPosition(Component c,
                        int position)
position within its current layer,
 where 0 is the topmost position within the layer and -1 is the bottommost
 position. 
 Note: Position numbering is defined by java.awt.Container, and is the opposite of layer numbering. Lower position numbers are closer to the top (0 is topmost), and higher position numbers are closer to the bottom.
c - the Component to moveposition - an int in the range -1..N-1, where N is the number of
                  components in the component's current layerpublic int getPosition(Component c)
c - the Component to check
getComponentCountInLayer(int)public int highestLayer()
public int lowestLayer()
public int getComponentCountInLayer(int layer)
layer - an int specifying the layer to check
public Component[] getComponentsInLayer(int layer)
layer - an int specifying the layer to check
public void paint(Graphics g)
paint in class JComponentg - the Graphics context within which to paintJComponent.paintComponent(java.awt.Graphics), 
JComponent.paintBorder(java.awt.Graphics), 
JComponent.paintChildren(java.awt.Graphics), 
JComponent.getComponentGraphics(java.awt.Graphics), 
JComponent.repaint(long, int, int, int, int)protected Hashtable<Component,Integer> getComponentToLayer()
protected Integer getObjectForLayer(int layer)
layer - an int specifying the layer
protected int insertIndexForLayer(int layer,
                                  int position)
layer - an int specifying the layerposition - an int specifying the position within the layer
getIndexOf(java.awt.Component)protected String paramString()
null.
paramString in class JComponentpublic AccessibleContext getAccessibleContext()
getAccessibleContext in interface AccessiblegetAccessibleContext in class JComponent| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.