rendered paste bodypackage java.awt;
import java.io.Serializable;
// Referenced classes of package java.awt:
// Component, ComponentOrientation, Container, Dimension,
// Insets, LayoutManager
public class GridLayout
implements LayoutManager, Serializable
{
int hgap;
int vgap;
int rows;
int cols;
public GridLayout()
{
this(1, 0, 0, 0);
}
public GridLayout(int i, int j)
{
this(i, j, 0, 0);
}
public GridLayout(int i, int j, int k, int l)
{
if(i == 0 && j == 0)
{
throw new IllegalArgumentException("rows and cols cannot both be zero");
} else
{
rows = i;
cols = j;
hgap = k;
vgap = l;
return;
}
}
public int getRows()
{
return rows;
}
public void setRows(int i)
{
if(i == 0 && cols == 0)
{
throw new IllegalArgumentException("rows and cols cannot both be zero");
} else
{
rows = i;
return;
}
}
public int getColumns()
{
return cols;
}
public void setColumns(int i)
{
if(i == 0 && rows == 0)
{
throw new IllegalArgumentException("rows and cols cannot both be zero");
} else
{
cols = i;
return;
}
}
public int getHgap()
{
return hgap;
}
public void setHgap(int i)
{
hgap = i;
}
public int getVgap()
{
return vgap;
}
public void setVgap(int i)
{
vgap = i;
}
public void addLayoutComponent(String s, Component component)
{
}
public void removeLayoutComponent(Component component)
{
}
public Dimension preferredLayoutSize(Container container)
{
Object obj = container.getTreeLock();
JVM INSTR monitorenter ;
Insets insets;
int j;
int k;
int l;
int i1;
insets = container.getInsets();
int i = container.getComponentCount();
j = rows;
k = cols;
if(j > 0)
{
k = ((i + j) - 1) / j;
} else
{
j = ((i + k) - 1) / k;
}
l = 0;
i1 = 0;
for(int j1 = 0; j1 < i; j1++)
{
Component component = container.getComponent(j1);
Dimension dimension = component.getPreferredSize();
if(l < dimension.width)
{
l = dimension.width;
}
if(i1 < dimension.height)
{
i1 = dimension.height;
}
}
return new Dimension(insets.left + insets.right + k * l + (k - 1) * hgap, insets.top + insets.bottom + j * i1 + (j - 1) * vgap);
Exception exception;
exception;
throw exception;
}
public Dimension minimumLayoutSize(Container container)
{
Object obj = container.getTreeLock();
JVM INSTR monitorenter ;
Insets insets;
int j;
int k;
int l;
int i1;
insets = container.getInsets();
int i = container.getComponentCount();
j = rows;
k = cols;
if(j > 0)
{
k = ((i + j) - 1) / j;
} else
{
j = ((i + k) - 1) / k;
}
l = 0;
i1 = 0;
for(int j1 = 0; j1 < i; j1++)
{
Component component = container.getComponent(j1);
Dimension dimension = component.getMinimumSize();
if(l < dimension.width)
{
l = dimension.width;
}
if(i1 < dimension.height)
{
i1 = dimension.height;
}
}
return new Dimension(insets.left + insets.right + k * l + (k - 1) * hgap, insets.top + insets.bottom + j * i1 + (j - 1) * vgap);
Exception exception;
exception;
throw exception;
}
public void layoutContainer(Container container)
{
Insets insets;
int i;
int j;
int k;
boolean flag;
label0:
{
synchronized(container.getTreeLock())
{
insets = container.getInsets();
i = container.getComponentCount();
j = rows;
k = cols;
flag = container.getComponentOrientation().isLeftToRight();
if(i != 0)
{
break label0;
}
}
return;
}
if(j > 0)
{
k = ((i + j) - 1) / j;
} else
{
j = ((i + k) - 1) / k;
}
int l = container.width - (insets.left + insets.right);
int i1 = container.height - (insets.top + insets.bottom);
l = (l - (k - 1) * hgap) / k;
i1 = (i1 - (j - 1) * vgap) / j;
if(flag)
{
int j1 = 0;
for(int l1 = insets.left; j1 < k; l1 += l + hgap)
{
int j2 = 0;
for(int l2 = insets.top; j2 < j; l2 += i1 + vgap)
{
int j3 = j2 * k + j1;
if(j3 < i)
{
container.getComponent(j3).setBounds(l1, l2, l, i1);
}
j2++;
}
j1++;
}
} else
{
int k1 = 0;
for(int i2 = container.width - insets.right - l; k1 < k; i2 -= l + hgap)
{
int k2 = 0;
for(int i3 = insets.top; k2 < j; i3 += i1 + vgap)
{
int k3 = k2 * k + k1;
if(k3 < i)
{
container.getComponent(k3).setBounds(i2, i3, l, i1);
}
k2++;
}
k1++;
}
}
obj;
JVM INSTR monitorexit ;
goto _L1
exception;
throw exception;
_L1:
}
public String toString()
{
return (new StringBuilder()).append(getClass().getName()).append("[hgap=").append(hgap).append(",vgap=").append(vgap).append(",rows=").append(rows).append(",cols=").append(cols).append("]").toString();
}
}