All pastes #69836 Raw Edit

Miscellany

public text v1 · immutable
#69836 ·published 2006-06-23 14:06 UTC
rendered paste body
package 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();
    }
}