private void calculateSizes()
	{
		if (!mDirty)
		{
			return;
		}
		mDirty = false;
		mSize.width = 0;
		mSize.height = 0;
		Enumeration e = mComponents.keys();

		while (e.hasMoreElements())
		{
			Component c = (Component) e.nextElement();
			Point p = (Point) mComponents.get(c);
			mSize.width = Math.max(mSize.width, c.getPreferredSize().width
					+ p.x);
			mSize.height = Math.max(mSize.height, c.getPreferredSize().height
					+ p.y);
		}
	}