/[classpath]/classpath/javax/swing/JLayeredPane.java
ViewVC logotype

Diff of /classpath/javax/swing/JLayeredPane.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13.2.10 by tromey, Sat Nov 26 05:29:42 2005 UTC revision 1.13.2.11 by gnu_andrew, Sun Nov 27 21:00:37 2005 UTC
# Line 38  exception statement from your version. * Line 38  exception statement from your version. *
38    
39  package javax.swing;  package javax.swing;
40    
41    import java.awt.Color;
42  import java.awt.Component;  import java.awt.Component;
43  import java.awt.Container;  import java.awt.Container;
44  import java.awt.Graphics;  import java.awt.Graphics;
45    import java.awt.Rectangle;
46    import java.awt.Shape;
47  import java.util.Hashtable;  import java.util.Hashtable;
48  import java.util.Iterator;  import java.util.Iterator;
49  import java.util.Map;  import java.util.Map;
# Line 158  public class JLayeredPane extends JCompo Line 161  public class JLayeredPane extends JCompo
161    TreeMap layers;               // Layer Number (Integer) -> Layer Size (Integer)    TreeMap layers;               // Layer Number (Integer) -> Layer Size (Integer)
162    Hashtable componentToLayer;   // Component -> Layer Number (Integer)    Hashtable componentToLayer;   // Component -> Layer Number (Integer)
163    
164      private transient Rectangle rectCache;
165      
166    public JLayeredPane()    public JLayeredPane()
167    {    {
168      layers = new TreeMap ();      layers = new TreeMap ();
# Line 250  public class JLayeredPane extends JCompo Line 255  public class JLayeredPane extends JCompo
255      ret[1] = getComponents ().length;      ret[1] = getComponents ().length;
256      Iterator i = layers.entrySet ().iterator ();      Iterator i = layers.entrySet ().iterator ();
257      while (i.hasNext())      while (i.hasNext())
258              {        {
259          Map.Entry pair = (Map.Entry) i.next();          Map.Entry pair = (Map.Entry) i.next();
260          Integer layerNum = (Integer) pair.getKey ();          Integer layerNum = (Integer) pair.getKey ();
261          Integer layerSz = (Integer) pair.getValue ();          Integer layerSz = (Integer) pair.getValue ();
262          if (layerNum.intValue() == layer.intValue())          int layerInt = layerNum.intValue();
263            if (layerInt == layer.intValue())
264            {            {
265              ret[0] = ret[1] - layerSz.intValue ();              ret[0] = ret[1] - layerSz.intValue ();
266              return ret;              break;
267              }
268            // In the following case there exists no layer with the specified
269            // number, so we return an empty interval here with the index at which
270            // such a layer would be inserted
271            else if (layerInt > layer.intValue())
272              {
273                ret[1] = ret[0];
274                break;
275            }            }
276          else          else
277            {            {
278              ret[1] -= layerSz.intValue ();              ret[1] -= layerSz.intValue ();
279            }            }
280              }        }
281      // should have found the layer during iteration      return ret;
     throw new IllegalArgumentException ();  
282    }    }
283    
284    /**    /**
# Line 629  public class JLayeredPane extends JCompo Line 642  public class JLayeredPane extends JCompo
642     * @param index an ignored parameter, for compatibility.     * @param index an ignored parameter, for compatibility.
643     */     */
644    protected void addImpl(Component comp, Object layerConstraint, int index)    protected void addImpl(Component comp, Object layerConstraint, int index)
645    {                {
646      Integer layer;      Integer layer;
647      if (layerConstraint != null && layerConstraint instanceof Integer)      if (layerConstraint != null && layerConstraint instanceof Integer)
648        layer = (Integer) layerConstraint;        layer = (Integer) layerConstraint;
# Line 643  public class JLayeredPane extends JCompo Line 656  public class JLayeredPane extends JCompo
656      componentToLayer.put (comp, layer);      componentToLayer.put (comp, layer);
657      incrLayer (layer);      incrLayer (layer);
658                    
659      super.addImpl(comp, null, newIdx);        super.addImpl(comp, null, newIdx);
660    }        }
661    
662    /**    /**
663     * Sets the layer property for a JComponent.     * Sets the layer property for a JComponent.
# Line 681  public class JLayeredPane extends JCompo Line 694  public class JLayeredPane extends JCompo
694     */     */
695    public void paint(Graphics g)    public void paint(Graphics g)
696    {    {
697      g.setColor(getBackground());      if (isOpaque())
698      g.fillRect(0, 0, getWidth(), getHeight());        {
699            Color oldColor = g.getColor();
700            Rectangle clip = g.getClipBounds();
701            g.setColor(getBackground());
702            g.fillRect(clip.x, clip.y, clip.width, clip.height);
703            g.setColor(oldColor);
704          }
705      super.paint(g);      super.paint(g);
706    }    }
707    

Legend:
Removed from v.1.13.2.10  
changed lines
  Added in v.1.13.2.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26