aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/FlowLayout.java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2000-12-26 00:25:13 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-12-26 00:25:13 +0000
commit5472d1951a2f96bf92d004dec143cd21a4da3965 (patch)
treea938f800a6d828c421e0820a9d7ebe6d666e7f6e /libjava/java/awt/FlowLayout.java
parent83050e0d93035b6d3f426df57e9096243d63800e (diff)
downloadgcc-5472d1951a2f96bf92d004dec143cd21a4da3965.zip
gcc-5472d1951a2f96bf92d004dec143cd21a4da3965.tar.gz
gcc-5472d1951a2f96bf92d004dec143cd21a4da3965.tar.bz2
MenuContainer.java: Fixed typo.
* java/awt/MenuContainer.java: Fixed typo. * Makefile.in: Rebuilt. * Makefile.am (awt_java_source_files): Added SystemColor.java. * java/awt/SystemColor.java: New file. * java/awt/Color.java (rgba): Now package-private. * java/awt/event/InputEvent.java (isAltGraphDown): New method. * java/awt/event/ContainerEvent.java (getContainer): Renamed from getComponent. * java/awt/MenuItem.java (addNotify): New method. (MenuItem(String,MenuShortcut)): New constructor. (setLabel): Notify peer of change. (setEnabled): Likewise. * java/awt/GridLayout.java (toString): New method. * java/awt/FlowLayout.java (LEADING, TRAILING): New constants. (FlowLayout): Check for LEADING and TRAILING. (setAlignment): Likewise. (layoutContainer): Handle component orientation. * java/awt/Component.java (orientatin): New field. (setComponentOrientation): Wrote. (getComponentOrientation): Wrote. * java/awt/Event.java (Event): Implements Serializable. (consumed): New field for serialization. * java/awt/Dimension.java (Dimension): Implements Serializable. * java/awt/Cursor.java (Cursor): Implements Serializable. * java/awt/Container.java (Container): No longer abstract. * java/awt/Choice.java: Wrote. * java/awt/Checkbox.java: Wrote. * java/awt/ItemSelectable.java: Documented. * java/awt/CheckboxGroup.java: Wrote. * java/awt/CardLayout.java (layoutContainer): Directly use fields in other classes. (getSize): Likewise. From-SVN: r38486
Diffstat (limited to 'libjava/java/awt/FlowLayout.java')
-rw-r--r--libjava/java/awt/FlowLayout.java28
1 files changed, 24 insertions, 4 deletions
diff --git a/libjava/java/awt/FlowLayout.java b/libjava/java/awt/FlowLayout.java
index c74d802..95cb6e6 100644
--- a/libjava/java/awt/FlowLayout.java
+++ b/libjava/java/awt/FlowLayout.java
@@ -27,6 +27,13 @@ public class FlowLayout implements LayoutManager, Serializable
/** Constant that specifies right alignment. */
public static final int RIGHT = 2;
+ /** Constant that specifies alignment to leading edge of container's
+ * orientation. */
+ public static final int LEADING = 3;
+ /** Constant that specifies alignment to trailing edge of container's
+ * orientation. */
+ public static final int TRAILING = 4;
+
/** Add a new component to the layout. This particular implementation
* does nothing.
*/
@@ -82,7 +89,8 @@ public class FlowLayout implements LayoutManager, Serializable
throw new IllegalArgumentException ("horizontal gap must be nonnegative");
if (vgap < 0)
throw new IllegalArgumentException ("vertical gap must be nonnegative");
- if (align != LEFT && align != RIGHT && align != CENTER)
+ if (align != LEFT && align != RIGHT && align != CENTER
+ && align != LEADING && align != TRAILING)
throw new IllegalArgumentException ("invalid align: " + align);
this.align = align;
this.hgap = hgap;
@@ -101,6 +109,9 @@ public class FlowLayout implements LayoutManager, Serializable
Dimension d = parent.getSize ();
Insets ins = parent.getInsets ();
+ ComponentOrientation orient = parent.getComponentOrientation ();
+ boolean left_to_right = orient.isLeftToRight ();
+
int y = ins.top + vgap;
int i = 0;
while (i < num)
@@ -128,12 +139,20 @@ public class FlowLayout implements LayoutManager, Serializable
// Set the location of each component for this row.
int x;
- if (align == LEFT)
+
+ int myalign = align;
+ if (align == LEADING)
+ myalign = left_to_right ? LEFT : RIGHT;
+ else if (align == TRAILING)
+ myalign = left_to_right ? RIGHT : LEFT;
+
+ if (myalign == LEFT)
x = ins.left + hgap;
- else if (align == CENTER)
+ else if (myalign == CENTER)
x = (d.width - new_w) / 2;
else
x = d.width - new_w;
+
for (int k = i; i < j; ++k)
{
// FIXME: this is very inefficient.
@@ -178,7 +197,8 @@ public class FlowLayout implements LayoutManager, Serializable
*/
public void setAlignment (int align)
{
- if (align != LEFT && align != RIGHT && align != CENTER)
+ if (align != LEFT && align != RIGHT && align != CENTER
+ && align != LEADING && align != TRAILING)
throw new IllegalArgumentException ("invalid align: " + align);
this.align = align;
}