package org.buzztroll.mud;
import java.awt.*;
public class UITools {
/**
* This method positions a Component in a center of a given
* Container.
*
* If the Container is null or the the Component is larger
* than the Container, the Component is centered relative
* to the screen.
*
* @param Container parent - The Container relative to which
* the Component is centered.
*
* @param Component comp - The Component to be centered
*
*/
public static void center(Container parent, Component comp) {
int x, y;
Rectangle parentBounds;
Dimension compSize = comp.getSize();
// If Container is null or smaller than the component
// then our bounding rectangle is the
// whole screen
if ((parent == null) || (parent.getBounds().width < compSize.width) ||
(parent.getBounds().height < compSize.height)) {
parentBounds = new Rectangle(comp.getToolkit().getScreenSize());
parentBounds.setLocation(0,0);
}
// Else our bounding rectangle is the Container
else {
parentBounds = parent.getBounds();
}
// Place the component so its center is the same
// as the center of the bounding rectangle
x = parentBounds.x + ((parentBounds.width/2) - (compSize.width/2));
y = parentBounds.y + ((parentBounds.height/2) - (compSize.height/2));
comp.setLocation(x, y);
}
}