import java.awt.*; import java.util.*; class XYLayout implements LayoutManager { Dimension size; private Component[] Components; private int[] ComponentX; private int[] ComponentY; private int[] ComponentH; private int[] ComponentW; private int numComponents = 0; public XYLayout(int width, int height) { size = new Dimension(width, height); Components = new Component[100]; ComponentX = new int[100]; ComponentY = new int[100]; ComponentW = new int[100]; ComponentH = new int[100]; } public void SizeLayout(Dimension s) { size = s; } public void setSize(Dimension s) { size = s; } public Dimension getSize() { return size; } public void addLayoutComponent(String n, Component c) { if (numComponents > 99) { return; } Components[numComponents]= c; try { StringTokenizer st = new StringTokenizer(n,","); ComponentX[numComponents] = Integer.parseInt(st.nextToken()); ComponentY[numComponents] = Integer.parseInt(st.nextToken()); ComponentW[numComponents] = Integer.parseInt(st.nextToken()); ComponentH[numComponents] = Integer.parseInt(st.nextToken()); } catch (Exception e) {} numComponents++; } public void removeLayoutComponent(Component c) { } public Dimension preferredLayoutSize(Container parent) { return size; } public Dimension minimumLayoutSize(Container parent) { return size; } public void layoutContainer(Container parent) { if (parent.countComponents() == 0) return; for (int x = 0 ; x < numComponents ; x++) { Components[x].reshape(ComponentX[x], ComponentY[x], ComponentW[x], ComponentH[x]); Components[x].validate(); } } }