Commit 3f047028 by Michael Koch Committed by Michael Koch

2003-11-24 Michael Koch <konqueror@gmx.de>

	* javax/swing/BoxLayout.java
	(serialVersionUIR): New member variable.
	(X_AXIS, Y_AXIS): Documentation added.
	(LINE_AXIS, PAGE_AXIS): New constants.
	(grid): Renamed from gridbag.
	(BoxLayout): Use new constants, throw exception if invalid value for
	way, added documentation.
	(BoxLayout): Removed.
	(addLayoutComponent): Use new constants, added documentation.
	(removeLayoutComponent): Likewise.
	(addLayoutContainer): Added documentation.
	(preferredLayoutSize): Added documentation, check given argument.
	(minimumLayoutSize): Likewise.
	(layoutContainer): Likewise.
	(getLayoutAlignmentX): Likewise.
	(getLayoutAlignmentY): Likewise.
	(invalidateLayout): Likewise.
	(maximumLayoutSize): Likewise.

From-SVN: r73878
parent 7677e9e0
2003-11-24 Michael Koch <konqueror@gmx.de>
* javax/swing/BoxLayout.java
(serialVersionUIR): New member variable.
(X_AXIS, Y_AXIS): Documentation added.
(LINE_AXIS, PAGE_AXIS): New constants.
(grid): Renamed from gridbag.
(BoxLayout): Use new constants, throw exception if invalid value for
way, added documentation.
(BoxLayout): Removed.
(addLayoutComponent): Use new constants, added documentation.
(removeLayoutComponent): Likewise.
(addLayoutContainer): Added documentation.
(preferredLayoutSize): Added documentation, check given argument.
(minimumLayoutSize): Likewise.
(layoutContainer): Likewise.
(getLayoutAlignmentX): Likewise.
(getLayoutAlignmentY): Likewise.
(invalidateLayout): Likewise.
(maximumLayoutSize): Likewise.
2003-11-22 Michael Koch <konqueror@gmx.de> 2003-11-22 Michael Koch <konqueror@gmx.de>
* gnu/java/net/natPlainDatagramSocketImplWin32.cc * gnu/java/net/natPlainDatagramSocketImplWin32.cc
......
/* BoxLayout.java -- A layout for swing components. /* BoxLayout.java -- A layout for swing components.
Copyright (C) 2002 Free Software Foundation, Inc. Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -35,16 +35,18 @@ this exception to your version of the library, but you are not ...@@ -35,16 +35,18 @@ this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */ exception statement from your version. */
package javax.swing; package javax.swing;
import java.awt.Container; import java.awt.AWTError;
import java.awt.Component; import java.awt.Component;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.GridLayout; import java.awt.GridLayout;
import java.awt.LayoutManager2; import java.awt.LayoutManager2;
import java.io.Serializable; import java.io.Serializable;
/** /**
* A layout for swing components. * A layout for swing components.
* This implementation delegates its methods to * This implementation delegates its methods to
...@@ -54,101 +56,235 @@ import java.io.Serializable; ...@@ -54,101 +56,235 @@ import java.io.Serializable;
*/ */
public class BoxLayout implements LayoutManager2, Serializable public class BoxLayout implements LayoutManager2, Serializable
{ {
GridLayout gridbag; /**
* Specifies that components are laid out left to right.
final static int X_AXIS = 0; */
final static int Y_AXIS = 1; public static final int X_AXIS = 0;
/**
* Specifies that components are laid out top to bottom.
*/
public static final int Y_AXIS = 1;
/**
* Specifies that components are laid out in the direction of a line of text.
*/
public static final int LINE_AXIS = 2;
int way = X_AXIS; /**
* Sepcifies that components are laid out in the direction of the line flow.
*/
public static final int PAGE_AXIS = 3;
BoxLayout(JComponent p, /*
int way) * Needed for serialization.
{ */
int width = 0; private static final long serialVersionUID = -2474455742719112368L;
int height = 0;
this.way = way; /*
* The container given to the constructor.
*/
private Container container;
/*
* Internal layout.
*/
private GridLayout grid;
if (way == X_AXIS) /*
{ * Current type of component layouting. Defaults to X_AXIS.
width = 1; */
} private int way = X_AXIS;
/**
* Constructs a <code>BoxLayout</code> object.
*
* @param container The container that needs to be laid out.
* @param way The orientation of the components.
*
* @exception AWTError If way has an invalid value.
*/
public BoxLayout(Container container, int way)
{
int width = 0;
int height = 0;
ComponentOrientation orientation = container.getComponentOrientation();
this.container = container;
this.way = way;
switch (way)
{
case X_AXIS:
width = 1;
break;
case Y_AXIS:
height = 1;
break;
case LINE_AXIS:
if (orientation.isHorizontal())
height = 1;
else
width = 1;
break;
case PAGE_AXIS:
if (!orientation.isHorizontal())
height = 1;
else else
{ width = 1;
height = 1; break;
} default:
throw new AWTError("Invalid value for way");
}
grid = new GridLayout(width, height);
}
/**
* Adds a component to the layout.
*
* @param name The name of the component to add.
* @param component the component to add to the layout.
*/
public void addLayoutComponent(String name, Component component)
{
if (way == X_AXIS
|| (way == LINE_AXIS
&& component.getComponentOrientation().isHorizontal())
|| (way == PAGE_AXIS
&& !component.getComponentOrientation().isHorizontal()))
grid.setColumns(grid.getColumns() + 1);
else
grid.setRows(grid.getRows() + 1);
}
/**
* Removes a component from the layout.
*
* @param component The component to remove from the layout.
*/
public void removeLayoutComponent(Component component)
{
grid.removeLayoutComponent(component);
gridbag = new GridLayout(width, height); if (way == X_AXIS
} || (way == LINE_AXIS
&& component.getComponentOrientation().isHorizontal())
|| (way == PAGE_AXIS
&& !component.getComponentOrientation().isHorizontal()))
grid.setColumns(grid.getColumns() - 1);
else
grid.setRows(grid.getRows() - 1);
}
/**
* Returns the preferred size of the layout.
*
* @param parent The container that needs to be laid out.
*
* @return The dimension of the layout.
*/
public Dimension preferredLayoutSize(Container parent)
{
if (parent != container)
throw new AWTError("invalid parent");
BoxLayout(int way) return grid.preferredLayoutSize(parent);
{ }
this(null,way);
} /**
* Returns the minimum size of the layout.
*
* @param parent The container that needs to be laid out.
*
* @return The dimension of the layout.
*/
public Dimension minimumLayoutSize(Container parent)
{
if (parent != container)
throw new AWTError("invalid parent");
return grid.minimumLayoutSize(parent);
}
public void addLayoutComponent(String name, Component comp) /**
{ * Lays out the specified container using this layout.
if (way == X_AXIS) *
{ * @param parent The container that needs to be laid out.
gridbag.setColumns( gridbag.getColumns() + 1); */
} public void layoutContainer(Container parent)
else {
{ if (parent != container)
gridbag.setRows( gridbag.getRows() + 1); throw new AWTError("invalid parent");
}
} grid.layoutContainer(parent);
}
public void removeLayoutComponent(Component comp)
{ /**
gridbag.removeLayoutComponent(comp); * Adds a component to the layout.
if (way == X_AXIS) *
{ * @param child The component to add to the layout.
gridbag.setColumns( gridbag.getColumns() - 1); * @param constraints The constraints for the component in the layout.
} */
else public void addLayoutComponent(Component child, Object constraints)
{ {
gridbag.setRows( gridbag.getRows() - 1); addLayoutComponent("", child);
} }
}
/**
public Dimension preferredLayoutSize(Container parent) * Returns the alignment along the X axis for the container.
{ *
return gridbag.preferredLayoutSize(parent); * @param parent The container that needs to be laid out.
} *
* @return The alignment.
public Dimension minimumLayoutSize(Container parent) */
{ public float getLayoutAlignmentX(Container parent)
return gridbag.minimumLayoutSize(parent); {
} if (parent != container)
throw new AWTError("invalid parent");
public void layoutContainer(Container parent)
{ return 0;
gridbag.layoutContainer(parent); }
}
/**
public void addLayoutComponent ( Component child, Object constraints ) * Returns the alignment along the Y axis for the container.
{ *
addLayoutComponent("", child); * @param parent The container that needs to be laid out.
} *
* @return The alignment.
public float getLayoutAlignmentX ( Container parent ) */
{ public float getLayoutAlignmentY(Container parent)
return 0; {
} if (parent != container)
throw new AWTError("invalid parent");
public float getLayoutAlignmentY ( Container parent )
{ return 0;
return 0; }
}
/**
public void invalidateLayout ( Container parent ) * Invalidates the layout.
{ *
} * @param parent The container that needs to be laid out.
*/
public Dimension maximumLayoutSize ( Container parent ) public void invalidateLayout(Container parent)
{ {
return preferredLayoutSize(parent); if (parent != container)
} throw new AWTError("invalid parent");
}
/**
* Returns the maximum size of the layout gived the components
* in the given container.
*
* @param parent The container that needs to be laid out.
*
* @return The dimension of the layout.
*/
public Dimension maximumLayoutSize(Container parent)
{
if (parent != container)
throw new AWTError("invalid parent");
return preferredLayoutSize(parent);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment