Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * This file is part of WebLookAndFeel library.
 *
 * WebLookAndFeel library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * WebLookAndFeel library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with WebLookAndFeel library.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.awt.*;

public class Main {
    /**
     * Makes all specified component sizes equal.
     *
     * @param components components to modify
     */
    public static void equalizeComponentsSize(final Component... components) {
        final Dimension maxSize = new Dimension(0, 0);
        for (final Component c : components) {
            if (c != null) {
                final Dimension ps = c.getPreferredSize();
                maxSize.width = Math.max(maxSize.width, ps.width);
                maxSize.height = Math.max(maxSize.height, ps.height);
            }
        }
        for (final Component c : components) {
            if (c != null) {
                c.setPreferredSize(maxSize);
            }
        }
    }

    /**
     * Returns maximum insets combined from the specified ones.
     *
     * @param insets1 first insets
     * @param insets2 second insets
     * @return maximum insets
     */
    public static Insets max(final Insets insets1, final Insets insets2) {
        if (insets1 != null && insets2 != null) {
            return new Insets(Math.max(insets1.top, insets2.top), Math.max(insets1.left, insets2.left),
                    Math.max(insets1.bottom, insets2.bottom), Math.max(insets1.right, insets2.right));
        } else if (insets1 != null) {
            return insets1;
        } else if (insets2 != null) {
            return insets2;
        } else {
            return null;
        }
    }

    /**
     * Returns maximum dimension combined from specified components dimensions.
     *
     * @param component1 first component
     * @param component2 second component
     * @return maximum dimension
     */
    public static Dimension max(final Component component1, final Component component2) {
        return max(component1.getPreferredSize(), component2.getPreferredSize());
    }

    /**
     * Returns maximum dimension combined from specified components dimensions.
     *
     * @param components components
     * @return maximum dimension
     */
    public static Dimension max(final Component... components) {
        Dimension max = components.length > 0 ? components[0].getPreferredSize() : new Dimension(0, 0);
        for (int i = 1; i < components.length; i++) {
            max = max(max, components[i].getPreferredSize());
        }
        return max;
    }

    /**
     * Returns maximum dimension combined from specified ones.
     *
     * @param dimension1 first dimension
     * @param dimension2 second dimension
     * @return maximum dimension
     */
    public static Dimension max(final Dimension dimension1, final Dimension dimension2) {
        if (dimension1 == null && dimension2 == null) {
            return null;
        } else if (dimension1 == null) {
            return dimension2;
        } else if (dimension2 == null) {
            return dimension1;
        } else {
            return new Dimension(Math.max(dimension1.width, dimension2.width),
                    Math.max(dimension1.height, dimension2.height));
        }
    }
}