summaryrefslogtreecommitdiff
path: root/libjava/classpath/java/awt/FlowLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/java/awt/FlowLayout.java')
-rw-r--r--libjava/classpath/java/awt/FlowLayout.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/libjava/classpath/java/awt/FlowLayout.java b/libjava/classpath/java/awt/FlowLayout.java
index 4674990ac52..7d0771d915b 100644
--- a/libjava/classpath/java/awt/FlowLayout.java
+++ b/libjava/classpath/java/awt/FlowLayout.java
@@ -205,12 +205,12 @@ public class FlowLayout implements LayoutManager, Serializable
else if (align == TRAILING)
myalign = left_to_right ? RIGHT : LEFT;
- if (myalign == LEFT)
- x = ins.left + hgap;
+ if (myalign == RIGHT)
+ x = ins.left + (d.width - new_w) + hgap;
else if (myalign == CENTER)
x = ins.left + (d.width - new_w) / 2 + hgap;
- else
- x = ins.left + (d.width - new_w) + hgap;
+ else // LEFT and all other values of align.
+ x = ins.left + hgap;
for (int k = i; k < j; ++k)
{
@@ -269,9 +269,9 @@ public class FlowLayout implements LayoutManager, Serializable
*/
public void setAlignment (int align)
{
- if (align != LEFT && align != RIGHT && align != CENTER
- && align != LEADING && align != TRAILING)
- throw new IllegalArgumentException ("invalid alignment: " + align);
+ // The JDK accepts invalid values and treats them as
+ // LEFT during layout, so do we. The invalid value is even stored,
+ // getAlignment() returns the same invalid value.
this.align = align;
}