aboutsummaryrefslogtreecommitdiff
path: root/libjava/javax/swing/JLayeredPane.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/javax/swing/JLayeredPane.java')
-rw-r--r--libjava/javax/swing/JLayeredPane.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/libjava/javax/swing/JLayeredPane.java b/libjava/javax/swing/JLayeredPane.java
index 78ff95e..a184e21 100644
--- a/libjava/javax/swing/JLayeredPane.java
+++ b/libjava/javax/swing/JLayeredPane.java
@@ -153,7 +153,7 @@ public class JLayeredPane extends JComponent implements Accessible
Map.Entry pair = (Map.Entry) i.next();
Integer layerNum = (Integer) pair.getKey ();
Integer layerSz = (Integer) pair.getValue ();
- if (layerNum == layer)
+ if (layerNum.intValue() == layer.intValue())
{
ret[0] = ret[1] - layerSz.intValue ();
return ret;
@@ -314,7 +314,7 @@ public class JLayeredPane extends JComponent implements Accessible
int bot = range[1];
if (position == -1)
position = (bot - top) - 1;
- int targ = top + position;
+ int targ = Math.min(top + position, bot-1);
int curr = -1;
Component[] comps = getComponents();
@@ -539,7 +539,8 @@ public class JLayeredPane extends JComponent implements Accessible
int layer,
int position)
{
- componentToLayer.put (c, getObjectForLayer (layer));
+ remove(c);
+ add(c, getObjectForLayer (layer));
setPosition(c, position);
revalidate();
repaint();